create or replace
procedure pro_dataupdate
is --/声明
name_ varchar(20);--姓名
idcard_ varchar(20);--身份证号
sex_ varchar(20);--性别
nation_ varchar(20);--民族
birthday_ varchar(20);--出生日期
hjd_ varchar(20);--户籍地
telephone_ varchar(20);--电话
address_ varchar(100);--地址
nn number;
CURSOR cur_1 IS
SELECT systemid,sfzmhm,jdcsyr,zsxz,zzxxdz FROM SA.VW_XGDZ_IN_NNJDCXX;
begin --执行
nn:=0;
dbms_output.put_line('执行开始!');
FOR rec IN cur_1 LOOP
nn:=nn+1;
select t.name,t.idcard,t.sex,t.nation,t.birthday,t.hjd,t.telephone,t.address into name_,idcard_,sex_,nation_,birthday_,hjd_,telephone_,address_
from(SELECT * FROM VW_XGDZ_IN_PERSON ORDER BY dbms_random.value) t where rownum=1;--随机取 VW_XGDZ_IN_PERSON 表中的数据
--dbms_output.put_line(nn+':'+name_);
if mod(nn,100)=0 then
dbms_output.put_line(nn);
end if;
--dbms_output.put_line(rec.systemid);
update SA.VW_XGDZ_IN_NNJDCXX set sfzmhm=idcard_,jdcsyr=name_,zsxz=address_,zzxxdz=address_ where systemid=rec.systemid;--更新所需表的数据
END LOOP;
dbms_output.put_line('执行完毕!');
--commit;
exception --异常捕捉,不要把有需要的代码放在异常捕捉后面,有异常才会执行异常代码下所有代码,没有异常不会执行
WHEN OTHERS THEN
dbms_output.put_line('errorCode=' || SQLCODE || ',errorMsg=' || SUBSTR(SQLERRM, 1, 200));
end pro_dataupdate;
procedure pro_dataupdate
is --/声明
name_ varchar(20);--姓名
idcard_ varchar(20);--身份证号
sex_ varchar(20);--性别
nation_ varchar(20);--民族
birthday_ varchar(20);--出生日期
hjd_ varchar(20);--户籍地
telephone_ varchar(20);--电话
address_ varchar(100);--地址
nn number;
CURSOR cur_1 IS
SELECT systemid,sfzmhm,jdcsyr,zsxz,zzxxdz FROM SA.VW_XGDZ_IN_NNJDCXX;
begin --执行
nn:=0;
dbms_output.put_line('执行开始!');
FOR rec IN cur_1 LOOP
nn:=nn+1;
select t.name,t.idcard,t.sex,t.nation,t.birthday,t.hjd,t.telephone,t.address into name_,idcard_,sex_,nation_,birthday_,hjd_,telephone_,address_
from(SELECT * FROM VW_XGDZ_IN_PERSON ORDER BY dbms_random.value) t where rownum=1;--随机取 VW_XGDZ_IN_PERSON 表中的数据
--dbms_output.put_line(nn+':'+name_);
if mod(nn,100)=0 then
dbms_output.put_line(nn);
end if;
--dbms_output.put_line(rec.systemid);
update SA.VW_XGDZ_IN_NNJDCXX set sfzmhm=idcard_,jdcsyr=name_,zsxz=address_,zzxxdz=address_ where systemid=rec.systemid;--更新所需表的数据
END LOOP;
dbms_output.put_line('执行完毕!');
--commit;
exception --异常捕捉,不要把有需要的代码放在异常捕捉后面,有异常才会执行异常代码下所有代码,没有异常不会执行
WHEN OTHERS THEN
dbms_output.put_line('errorCode=' || SQLCODE || ',errorMsg=' || SUBSTR(SQLERRM, 1, 200));
end pro_dataupdate;