oracle存储过程使用
oracle存储过程使用,游标
最经用了个oracle,自己写了存储过程,分享下:
create or replace procedure proc_permission_deletebyid(spitemid1 in varchar2) is
docid1 varchar2(50);
charge1 varchar2(50);
begin
delete from t_sys_permissionitem where id=spitemid1;
delete from t_sys_busiitem where spitemid=spitemid1;
declare cursor spitemdoc_cur is ----定义文档游标
select docid from t_con_spitemofdoc where spitemid=spitemid1;
begin
open spitemdoc_cur;
fetch spitemdoc_cur into docid1;
while spitemdoc_cur%found loop
delete from t_sys_document where id=docid1;
fetch spitemdoc_cur into docid1;
end loop;
close spitemdoc_cur;
end;
delete from t_con_spitemofdoc where spitemid=spitemid1;
declare cursor spitemcharge_cur is ---定义收费游标
select chargeid from t_con_spitemofcharge where spitemid=spitemid1;
begin
open spitemcharge_cur;
fetch spitemcharge_cur into charge1;
while spitemcharge_cur%found loop
delete from t_sys_charge where id=charge1;
fetch spitemcharge_cur into charge1;
end loop;
close spitemcharge_cur;
end;
delete from t_con_spitemofcharge where spitemid=spitemid1;
delete from t_con_spitemofopinion where spitemid=spitemid1;
delete from t_con_spitemoftbcx where spitemid=spitemid1;
delete from t_con_spitemofposition where spitemid=spitemid1;
end proc_permission_deletebyid;
调用如下:
begin
proc_permission_deletebyid( '410700417088036001');
end;
浙公网安备 33010602011771号