游标的简单使用实例:
1、声明“css”时不获取相应的“ENTERPRISEID”,在for中获取相关数据。所以可以先更新相关的数据后在查询。
create or replace procedure insertAppcheckORupdateQYXX is
--声明游标
cursor css is
SELECT ENTERPRISEID
FROM EPRKC_ENTERPRISEINFO t
where t.CHECKSTATE = '失效中'
and t.recordenddate < sysdate;
begin
--1.对失效的企业做状态变更(失效中)
update EPRKC_ENTERPRISEINFO r set r.checkstate='失效中' where r.recordenddate<sysdate;
for c in css loop
BEGIN
--2、通过游标把得到的企业id分别插入EPRKC_APPCHECK
insert into EPRKC_APPCHECK a
(a.APPCHECKID,
a.ENTERPRISEID,
a.FLOWSN,
a.ENTERPRISENAME,
a.CHECKOPINION,
a.CHECKDEPT,
CHECKSTATE,
SUBMITTIME,
RECORDTYPE,
CHECKDEPTID,
CHECKDEPTSZD,
OPINOINRESULT,
CHECKDATE,
SYSTEMTYPE,
COLUMN12,
USERNAME,
USERID)
values
(SEQ_APPCHECK.NEXTVAL,
c.ENTERPRISEID,
1000,
'',
'',
'福建省住房和城乡建设厅',
'登记退回',
sysdate,
'延续',
'',
'',
'',
'',
0,
'',
'',
0);
END;
end loop;
--3、做失效处理(已失效)
update EPRKC_ENTERPRISEINFO o set o.checkstate='已失效' where o.checkstate='失效中' AND o.recordenddate<sysdate;
end;