创建一个名为trigger_contact_af_update
的触发器,该触发器将在contact
表更新时触发。更新联系人详细信息后,此触发器将把org_name和操作插入表contact_log_history
中。受影响的日志表contact_log_history
中的操作名称为'After_Update_Contact'
。
提示:
contact_log_history
的表结构如下:
org_name Varchar(30)
action Varchar(30)
我编写了以下触发器,但未创建错误或触发器。
CREATE OR REPLACE TRIGGER trigger_contact_af_update AFTER UPDATE
ON contact_log_history FOR EACH ROW
DECLARE
org_name VARCHAR(30);
action VARCHAR(30);
BEGIN
if (:new.action == 'After_Update_Contact')
then
INSERT INTO contact_log_history (org_name, action)
values (:new.org_name, :new:action);
end if ;
END;
答案 0 :(得分:0)
您应该使用
SHOW ERRORS
或
select * from user_errors;
在编译过程中检查过程/功能/触发器的错误。
在解决问题并避免使用变量之后,这是一个有效的触发器。
CREATE OR replace TRIGGER contact_af_update AFTER
UPDATE
ON contact FOR EACH ROW
DECLARE
BEGIN
IF (:new.action = 'After_Update_Contact') THEN
INSERT INTO contact_log_history
(
org_name,
action
)
VALUES
(
:new.org_name,
:new.action
);
END IF ;
END;
/
答案 1 :(得分:0)
试试这个:
CREATE OR replace TRIGGER trigger_contact_af_update AFTER
UPDATE
ON contact FOR EACH ROW
BEGIN
INSERT INTO contact_log_history
(
org_name,
action
)
VALUES
(
:new.org_name,
'After_Update_Contact'
);
END trigger_contact_af_update;
/