简单存储构造

 

--工作中偶尔会需要用到存储过程 .边学习边用. 解释一下存储过程的构造. 工具 plsql,数据库oracle . 
create or replace procedure update_AC11_BY_ac01_sjzx_sc2 is --程序头 和程序尾巴名字要一样 
v_aac999 varchar2(125);--一体化id 动态参数  
v_aac002 varchar2(125);--身份证号码 v_aac003 varchar2(120);--姓名  
v_id varchar2(120);--本系统id v_aae315 varchar2(20);--修改前的社保id  
cursor cur is --游标  
select t.aac999,t.aac002,t.aac003 from ac01_sjzx_sc2 t where t.state = 'Y';

begin --打开游标  
open cur;  
loop  
fetch cur into v_aac999,v_aac002,v_aac003; --把查询出来的数据 复制到 上面的参数里去. 注意这里要用into参数  
exit when cur%NOTFOUND;


begin   --开始循环sql  
  --通过身份证和姓名获取本系统id  
select t.aac001 into v_id  from ac01 t  where t.aac003=v_aac003 and  t.aac002=v_aac002;  
  --先判断社保id是否已经存在于ac11表  
  --select count(aae315) into v_aae315 from ac11 a  WHERE a.aae315=v_aac999;  
--if v_aae315 =0 then    -- 这里注意 和java不同的是 if then  
  --通过本系统id修改社会保险id  
 UPDATE ac11 a set a.aae315=v_aac999  WHERE a.aac001=v_id;  


-- end if; -- 结束注意用 end if;  
-- 已经修改标识  
UPDATE ac01_sjzx_sc_x a set a.state ='1' WHERE A.AAC999=v_aac999;

commit; --每次循环完成注意要先提交再结束循环.  
end;  
end loop;

end update_AC11_BY_ac01_sjzx_sc2; --和程序头相互呼应


 

 

转载于:https://my.oschina.net/u/3254021/blog/1863317

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值