Oracle:使用“立即执行”和rowcount删除行

时间:2019-10-10 19:38:05

标签: oracle

我要删除带有“立即执行”的行,因为表名在变量中。

如何计算删除的行数?

我尝试了此操作,但不适用于INTO v_LINE_REMOVE;

v_sql := '
 DELETE /*+parallel(t,4)*/
 FROM "' || v_owner || '"."' || v_table_name ||'" t
 where t."'|| v_column_name ||'" in (
       select /*+parallel(rem,4)*/
       rem.' || v_type_data || ' 
       from ' || v_table_listeremove || ' rem 
       WHERE rem.dt_vact = '''|| v_dt_vact ||'''
 )

';EXECUTE IMMEDIATE v_sql;--INTO v_LINE_REMOVE;

非常感谢

1 个答案:

答案 0 :(得分:1)

运行DML语句后,您应该可以使用SQL%ROWCOUNT

EXECUTE IMMEDIATE v_sql;
v_line_remove := SQL%ROWCOUNT;