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嘚存储过程(利用游标) --还可以升级输入初始日期和最后日期 --这里也可以直接调用写好的函数
查询的时候,坑爹了足足让我等了六分哆钟。
我们先来创建些日期比如创建2015年1月1日到2015年12月31日这一年的日期,我们该怎么做呢
肯定不會去一天一天的输入吧,好了来个很洋气的查日期的方法:
这样2015年一整年的没一天都有啦,我要10年呢?我要任何一段时间都没问题有了這些日期,利用我们oracle强大的日期函数立马就
知道了这一天是星期几,是那个月是哪个季度等等
下面来写个存储过程,直接一步到位將我们要的那段日期导入我们的日期表中,
当然是创建我们的日期维度表:
看看最终效果是这样的:
1.不带参数的存储过程
--1.不带参数的存储過程
--2.带参数的存储过程
3.自定义变量的存储过程
--3.自定义变量的存储过程
4.判断语句的存储过程
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。