oracle数据库创建一个存储过程

  IS关键词表明后面将跟随一个PL/SQL體

  BEGIN关键词表明PL/SQL体的开始。

  NULL PL/SQL语句表明什么事都不做这句不能删去,因为PL/SQL体中至少需要有一句;

  END关键词表明PL/SQL体的结束

变量2 类型(值范围);

1 存储过程参数不带取值范围,in表示传入out表示输出

类型可以使用任意Oracle中的合法类型。

2  变量带取值范围,后面接分号

3  在判斷语句前最好先用count(*)函数判断是否存在该条操作记录

--定义游标(简单的说就是一个可以遍历的结果集) 


--先删除表中特定条件的数据。 

}
SET SERVEROUTPUT ON; --开启输出显示功能默认是关闭嘚,否则执行成功看不到输出结果
 

 这样一个带有执行块的和异常的存储过程就创建完整了。

先来个最简单的存储过程往表中添加一条數据

 下面创建一个带参数的存储过程,将员工的姓名和薪水作为参数去修改原来表中的数据

创建一个存储过程,可以直接调用插入表的數据

一.最简单的存储过程架构:

  END;                  --代表结束

二.带参数和变量的存储过程

AS            (这里IS也可以)

 变量1 类型1;    --自己定义的变量 和类型

--带参数和自定义变量的存储过程
 

根据年月日利用存储过程,自动更新其他字段

现在只需要输入DATE_ID,调用存储过程后面的值可以自动更新,正确补上

--创建更新date的存储过程
 v_Dedak number;             --定义上中下旬1,23
 --这里也可以直接调用写好的函数
 

嗯,看到红色的elsif没没错,就是这样的不习惯也没办法,慢慢习惯就好了!

 再来个升级版的存储过程直接创建好时间,还没提供参数所以时间定了从至日,要是能提供两个日期参数那就绝了

好吧,没有参数的先这么写吧:

--创建更新date嘚存储过程(利用游标)
--还可以升级输入初始日期和最后日期
 
 
 --这里也可以直接调用写好的函数
 

查询的时候,坑爹了足足让我等了六分哆钟。

--先定义变量再赋值 --变量声明,使用%type属性

 我们先来创建些日期比如创建2015年1月1日到2015年12月31日这一年的日期,我们该怎么做呢

肯定不會去一天一天的输入吧,好了来个很洋气的查日期的方法:

 

这样2015年一整年的没一天都有啦,我要10年呢?我要任何一段时间都没问题有了這些日期,利用我们oracle强大的日期函数立马就

知道了这一天是星期几,是那个月是哪个季度等等

下面来写个存储过程,直接一步到位將我们要的那段日期导入我们的日期表中,

当然是创建我们的日期维度表:

看看最终效果是这样的:

1.不带参数的存储过程

--1.不带参数的存储過程
 
--2.带参数的存储过程
 

3.自定义变量的存储过程

--3.自定义变量的存储过程
 

4.判断语句的存储过程

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信