一个oracle存储的基本问题,%rowtype 前面的表名需要动态获取咋办。

corner1988 corner1988 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
CREATE OR REPLACE PROCEDURE up_czrk_ryjbxx (tab  varchar2 ) 
as
sfzh varchar2(100);
cunt number;
czrk tab%rowtype; --编译时不通过, 有没有办法绕过去呢?
xhs number default 0;
CURSOR c_czrk IS SELECT * FROM tab;
begin
OPEN c_czrk; --打开游标
LOOP
FETCH c_czrk INTO czrk; --提取游标
exit when c_czrk%notfound;
select 1 into cunt from ry_jbxx where sfzh=czrk.gmsfhm and rownum=1;
if cunt=1 then
--update
select 1 from dual;
else
--insert
select 1 from dual;
end if;
xhs:=xhs+1;
if( mod(xhs,10000)=0) then
commit;
end if;
END LOOP;
commit;
CLOSE c_czrk; --关闭游标
end;
...全文
评论 2
收藏 已收藏
分享
返回顶部
corner1988
Oracle 17,133 成员 55,258 内容