我正在创建一个包,之后我正在提示在表上创建一个触发器来检查旧值和新值:
set serveroutput on
set LIN 200
set feedback off
set verify off
set embedded on
set heading off
spool tmp.sql
prompt create or replace trigger aud_&1
prompt after update on &1
prompt for each row
prompt begin
select ' audit_pkg.check_val( ''&1'', ''' || column_name || ''', ' || ':new.' || column_name || ', :old.' || column_name || ');'
from user_tab_columns where table_name = upper('&1')
/
prompt end;
prompt /
spool off
set feedback on
set embedded off
set heading on
set verify on
@tmp
-------------
但是当我运行脚本时,它总是会编译错误:
所有这意味着它在结束后错过了;
:
所以我的问题是我需要添加到我的脚本中以包含所需的;
,当然我自己尝试过一些事情,例如在第95行添加;;
但没有任何效果。
答案 0 :(得分:2)
类似于在脚本中生成plsql调用。 而不是
prompt end;
写
select 'end;' from dual
/