dengjin
发贴: 15
积分: 0
|
于 2009-02-23 23:26
CREATE OR REPLACE TRIGGER sm_servicequality_tbl_tigger after INSERT on sm_servicequality_tbl<font color=red>--这是我监听的表名</font> for each row when (new.ServiceQualityLabel ='Down') begin insert into dengjin_alerm(ALERT_ID,SERVICEQUALITYLABEL,ALMERT_DATA,DESCRIPTION,NUMBERRECODE) value(:new.ALERT_ID,'Down',(select sysdate from dual),:new.DESCRIPTION,' '); end; 以上代码意思:我对表sm_servicequality_tbl进行监听,当有数据插入该表且插入字段ServiceQualityLabel 的值为DOWN时触发。 这时向另一个表dengjin_alerm插入数据,且插入的数据都是刚才对sm_servicequality_tbl表所插入的部入字段值. 但在执行以上代码创建触发器时发生如下错误 Compilation errors for TRIGGER SYSTEM.SM_SERVICEQUALITY_TBL_TIGGER
Error: PLS-00049: 错误的赋值变量 'NEW.ALERT_ID'(这里不懂,说是错误的赋值变量new.alert_id.(我变量名是没错的)) Line: 18 Text: value(:new.ALERT_ID,'Down',(select sysdate from dual),:new.DESCRIPTION,'');
Error: PL/SQL: ORA-00926: 缺失 VALUES 关键字(已发现) Line: 18 Text: value(:new.ALERT_ID,'Down',(select sysdate from dual),:new.DESCRIPTION,'');
Error: PL/SQL: SQL Statement ignored Line: 17 Text: insert into dengjin_alerm(ALERT_ID,SERVICEQUALITYLABEL,ALMERT_DATA,DESCRIPTION,NUMBERRECODE) 请大侠指示
dengjin edited on 2009-02-23 23:34
|