我在一张表中某个字段放了一段SQL语句,想验证这段SQL语句是否能够正常执行,大概有两三千条
查了一下 有人说用下面这行代码可以达到效果,
create
or
replace
procedure
yyp_cwdh(table_name
varchar
)
is
str_sql varchar2(400):=
''
;
begin
str_sql:=
'select * from '
||table_name||
' where 1=1'
;
execute
immediate str_sql;
end
yyp_cwdh;
但是我的SQL是存在表里面的,而且是多行,能否通过循环语句通过rownum字段来逐行执行,执行报错,返回当行另一个字段的数据,告诉我哪一行报错
oracle的存储过程有异常捕捉的功能,你直接写个循环,每次循环查询一条数据,出错就捕捉异常就好了
需要在存储过程中创建游标,通过使用游标循环读取SQL,然后执行SQL
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y