错误码:-2007
错误内容:创建触发器时报"语法分析出错"
触发器语法问题,REFERENCING 子句 指明相关名称可以在元组级触发器的触发器体和WHEN子句中利用相关名称来访问当前行的新值或旧值,缺省的相关名称为OLD和NEW;
Oracle触发器中"REFERENCING NEW AS NEW OLD AS OLD"没有语法顺序;DM目前只能"REFERENCING OLD AS OLD NEW AS NEW"
--创建表
create table test as select * from dba_objects;
--创建触发器报错
CREATE OR REPLACE TRIGGER TRG_TEST
BEFORE UPDATE ON TEST
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
dbms_output.put_line('UPDATE TIME :'||sysdate);
END TRG_TEST;
-2007: 第 4 行, 第 1 列[FOR]附近出现错误:
语法分析出错
DM采用OLD AS OLD NEW AS NEW的语法可以创建成功
CREATE OR REPLACE TRIGGER TRG_TEST
AFTER UPDATE ON TEST
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
dbms_output.put_line('UPDATE TIME :'||sysdate);
END TRG_TEST;
/
执行成功, 执行耗时154毫秒. 执行号:600
影响了0条记录
文章
阅读量
获赞