现有2张表,表A,表B,表A有2个字段A.uid和A.puid构成父子级关系,表B是表A的子表,关联字段为A.id,和A表的uid相关联,现在A表新增2个字段,A.cnum和A.pnum,用来替换构成原父子级关系的两个字段,B表新增A.num字段,替换关联字段,现求一存储过程嵌套游标把3个新增字段的值替换成自己定义的值,如A.cnum以1001开始
解决方案 »
- noaudit不能立即起作用吗
- 怎么写一个shell文件,按照条件删除2个表的数据,还要兼顾2个表的数据的整合性, 删除用的存储过程已经写好
- 如何将EMP表中的数据复制到RET_EMP中?
- 关于V$SYSSTAT中的db block gets等参数的含义探讨
- 高分請教
- 各位大侠,哈哈,来吧,
- 更新备份LOG表的oracle触发器问题
- 请教一个sql语句写法
- 求助:把MS SQL Server的SQL语句转到Oracle
- 帮我解释一下一个比较基础的问题,关于用户登陆的问题
- ORACLE数据库运行一段时间后(一个星期左右),登陆总是出现"ora-12560错误,TNS:协议适配器错误"。
- 在win系统服务下的oracle 和unix系统下的oracle
create or replace procedure updatepment
is
cursor exp_cur is select * from expequipment m;
v_exp expequipment%rowtype;
begin
open exp_cur;
loop
fetch exp_cur into v_exp;
if(v_exp.parentguid='<ROOT>')
then
update expequipment m set parentnum='' where m.expequipmentid=v_exp.expequipmentid;
else
update expequipment m set parentnum=(select eqptnum from expequipment m
where m.equipmentguid=v_exp.parentguid) where m.expequipmentid=v_exp.expequipmentid;
end if;
exit when exp_cur%notfound;
declare
cursor parm_cur is select * from expeqptparam p where p.equipmentguid=v_exp.equipmentguid;
v_parm expeqptparam%rowtype;
begin
open parm_cur;
loop
fetch parm_cur into v_parm;
exit when parm_cur%notfound;
update expeqptparam p set p.eqptnum=v_exp.eqptnum
where p.equipmentguid=v_exp.equipmentguid; end loop;
close parm_cur;
commit;
end;
end loop;
close exp_cur;
end updatepment;