存储过程
1 CREATE OR REPLACE PROCEDURE Ordr_Main (通知Oracle数据库去创建一个叫做Ordr_Main存储过程, 如果存在就覆盖它)
2 IS (IS/AS关键词表明后面将跟随一个PL/SQL体)
3 BEGIN (BEGIN关键词表明PL/SQL体的开始)
4 NULL; (NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;)
5 END; (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;
注意事项:
1, 存储过程参数不带取值范围,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);--同期终止月份