存储过程
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 into 表 values(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;

浙公网安备 33010602011771号