1 / 21
文档名称:

oracle存储过程语法.doc

格式:doc   页数:21
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

oracle存储过程语法.doc

上传人:rjmy2261 2013/1/9 文件大小:0 KB

下载得到文件列表

oracle存储过程语法.doc

文档介绍

文档介绍:存储过程
1 CREATE OR REPLACE PROCEDURE 存储过程名
2 IS
3 BEGIN
4 NULL;
5 END;

行1:
CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;
行2:
IS关键词表明后面将跟随一个PL/SQL体。
行3:
BEGIN关键词表明PL/SQL体的开始。
行4:
NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;
行5:
END关键词表明PL/SQL体的结束
存储过程创建语法:
 create or replace procedure 存储过程名(param1 in type,param2 out type)
as
变量1 类型(值范围); --vs_msg   VARCHAR2(4000);
变量2 类型(值范围);
Begin
Select count(*) into 变量1 from 表A where列名=param1;
    If (判断条件) then
       Select 列名 into 变量2 from 表A where列名=param1;
       Dbms_output。Put_line(‘打印信息’);
    Elsif (判断条件) then
       Dbms_output。Put_line(‘打印信息’);
    Else
       Raise 异常名(NO_DATA_FOUND);
    End if;
Exception
    When others then
       Rollback;
End;
注意事项:
存储过程参数不带取值范围,in表示传入,out表示输出
类型可以使用任意Oracle中的合法类型。
2,  变量带取值范围,后面接分号
3,  在判断语句前最好先用count(*)函数判断是否存在该条操作记录
4,  用select 。。。into。。。给变量赋值
5,  在代码中抛异常用 raise+异常名
CREATE OR REPLACE PROCEDURE存储过程名
(
--定义参数
 is_ym  IN CHAR(6) ,
the_count OUT NUMBER,
)
AS
--定义变量
vs_msg   VARCHAR2(4000);   --错误信息变量
vs_ym_beg  CHAR(6);      --起始月份
vs_ym_end  CHAR(6);      --终止月份
vs_ym_sn_beg CHAR(6);     --同期起始月份
vs_ym_sn_end CHAR(6);     --同期终止月份
--定义游标(简单的说就是一个可以遍历的结果集)
CURSOR cur_1 IS
  SELECT 。。。
  FROM 。。。
    WHERE 。。。
   GROUP BY 。。。;
BEGIN
--用输入参数给变量赋初值,用到了Oralce的SUBSTR TO_CHAR ADD_MONTHS
TO_DATE 等很常用的函数。
vs_ym_beg := SUBSTR(is_ym,1,6);
vs_ym_end := SUBSTR(is_ym,7,6);
vs_ym_sn_beg := TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_beg,'yyyymm'), -12),'yyyymm');
vs_ym_sn_end := TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_end,'yyyymm'), -12),'yyyymm');
--先删除表中特定条件的数据。
DELETE FROM 表名 WHERE ym = is_ym;
  --然后用内置的DBMS_OUTPUT对象的put_line方法打印出影响的记录行数,其中用到一个系统变量SQL%rowcount
('del上月记录='||SQL%rowcount||'条');
INSERT INTO表名(area_code,ym,CMCODE,rmb_amt,usd_amt)
SELECT area_code,is_ym,CMCODE,SUM(rmb_amt)/10000,SUM(usd_amt)/10000
FROM BGD_AREA_CM_M_BASE_T
  WHERE ym >= vs

最近更新

2025年盘锦职业技术学院单招职业技能测试模拟.. 41页

2025年石家庄医学高等专科学校单招职业适应性.. 42页

2026年山东旅游职业学院单招综合素质考试模拟.. 41页

2026年山东海事职业学院单招职业适应性考试题.. 42页

2026年山东省威海市单招职业适应性测试题库及.. 43页

2025年福州科技职业技术学院单招职业适应性测.. 42页

2025年福州黎明职业技术学院单招职业技能测试.. 39页

2026年山西水利职业技术学院单招职业技能测试.. 41页

2026年山西职业技术学院单招职业技能测试题库.. 41页

2025年福建船政交通职业学院单招职业倾向性考.. 39页

2026年平顶山工业职业技术学院单招综合素质考.. 41页

2025年苏州卫生职业技术学院单招职业适应性测.. 42页

2026年广东工贸职业技术学院单招职测备考题库.. 41页

2025年苏州经贸职业技术学院单招职业技能测试.. 40页

2026年广州城市职业学院单招职业技能考试题库.. 42页

2025年营口职业技术学院单招职业倾向性考试模.. 40页

2025年襄阳科技职业学院单招职业适应性测试题.. 39页

2026年广西现代职业技术学院单招职业倾向性测.. 42页

2026年广西省桂林市单招职业适应性考试模拟测.. 42页

2026年广西蓝天航空职业学院单招职业倾向性测.. 41页

2026年廊坊燕京职业技术学院单招职业倾向性测.. 42页

2025年西安电力高等专科学校单招职业倾向性测.. 39页

2025年西安航空职业技术学院单招职业适应性测.. 40页

2025年贵州工商职业学院单招职业适应性测试题.. 40页

2026年扎兰屯职业学院单招职业倾向性测试模拟.. 42页

2025年贵州电子商务职业技术学院单招职业适应.. 40页

2026年新疆科技职业技术学院单招职业适应性考.. 43页

2025年国家开放大学《建筑力学》章节测试参考.. 13页

2024年常州机电职业技术学院单招职业适应性测.. 78页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页