PLS-00103:遇到符号"文件结束"

时间:2015-11-11 10:49:52

标签: sql oracle oracle11g triggers sqlplus

我正在创建一个包,之后我正在提示在表上创建一个触发器来检查旧值和新值:

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
-------------

但是当我运行脚本时,它总是会编译错误:

This is the error

所有这意味着它在结束后错过了;

The problem

所以我的问题是我需要添加到我的脚本中以包含所需的;,当然我自己尝试过一些事情,例如在第95行添加;;但没有任何效果。

1 个答案:

答案 0 :(得分:2)

类似于在脚本中生成plsql调用。 而不是

prompt end;

select 'end;' from dual
/