存储过程

 1 --存储过程模板
 2 create or replace procedure sp_moll(
 3 --定义执行时输入,输出,或者输出输入
 4 --1、循环执行的条数
 5 i_num in varchar2,
 6 --2、输入具体的值
 7 i_xx in varchar2,
 8 --3、输出的具体值
 9 o_xx out varchar2,
10 --4、返回信息
11 o_message out varchar2
12 )
13 as--或者用is
14 --定义变量可以供执行里面使用,替换
15 temp_data varchar2(20);
16 begin
17 --loop循环
18 for i in 1..i_num;
19 loop
20 --变量赋值
21 temp_data:=i_xx||'变量赋值'
22 --执行的语句(insert,update,delete,select)
23 --可以调用其他的存储过程,比如调用插入的基本数据,然后进行update
24 insert intovalues(temp_data,'xxx','yyy');
25 commit;
26 --调用其他的存储过程,用来对插入或者修改的数据进行修改逻辑规则
27 sp_basice_data(
28 i_num in int,
29 i_id in int,
30 o_message out varchar2
31 );
32 commit;
33 --对输出的值进行赋值
34 o_xx :='输出数据'
35 
36 end loop;--有loop开始就有结束
37 o_message='sucess';
38 --抛出异常
39 exception
40 when others then
41 o_message=sqlerrm;
42 end sp_moll;

 查询数据

 1  create or replace procedure 存储过程名(param1 in type,param2 out type) 
 2 
 3 as 
 4 
 5 变量1 类型(值范围); --vs_msg   VARCHAR2(4000); 
 6 
 7 变量2 类型(值范围);
 8 
 9 Begin
10 
11 Select count(*) into 变量1 from 表A where列名=param1;
12 
13  
14 
15     If (判断条件) then
16 
17        Select 列名 into 变量2 from 表A where列名=param1;
18 
19        Dbms_output.Put_line(‘打印信息’);
20 
21     Elsif (判断条件) then
22 
23        Dbms_output。Put_line(‘打印信息’);
24 
25     Else
26 
27        Raise 异常名(NO_DATA_FOUND);
28 
29     End if;
30 
31 Exception
32 
33     When others then
34 
35        Rollback;
36 
37 End;

 

 

1 create or replace procedure sp_select(
2 i_PRODUCT_ID in  varchar2,
3 o_count out varchar2,
4 o_message out varchar2
5 )
6 is
7 begin
8 Select count(*) into o_count from zhph_account_info where product_id=i_PRODUCT_ID;
9 end sp_select;

 

posted @ 2019-04-14 22:04  mollsweet  阅读(94)  评论(0)    收藏  举报