請幫我解決以下問題在Oracle中創建
我需要創建一個名爲trigger_contact_af_update
每當「接觸」表被更新時被觸發扳機。此觸發器將在更新聯繫人詳細信息後將org_name和操作插入表contact_log_history
。受影響日誌表contact_log_history
中的操作名稱爲After_Update_Contact
。
提示: 觸發器名稱:trigger_contact_af_update 表名:contact_log_history 字段名:ORG_NAME,動作 行動: 'After_Update_Contact'。
contact_log_history的表結構如下: ORG_NAME VARCHAR(30) 動作VARCHAR(30)
接觸的表結構如下:
id爲接觸表中的主鍵
ID整數 ORG_NAME VARCHAR2(255) street_address1 VARCHAR2(255) street_address2 VARCHAR2(255) 城市VARCHAR2(255) 狀態VARCHAR2(255) POSTAL_CODE VARCHAR2(255) COUNTRY_CODE VARCHAR2(255) 姓氏VARCHAR2(255) 名字VARCHAR2(255) person_title VARCHAR2(255) phone_country_code整數 phone_area_code整數 PHONE_NUMBER VARCHAR2(255) 電子郵件varchar2(255) created_time timestamp
我已經創建瞭如下的觸發器,但是在執行時不會返回任何錯誤消息也不會創建觸發器。請讓我知道創建觸發器時的錯誤/正確的語句
CREATE OR REPLACE TRIGGER trigger_contact_af_update
AFTER UPDATE
ON contact
FOR EACH ROW
DECLARE
BEGIN
INSERT INTO contact_log_history
(org_name,
action)
select org_name, 'contact_log_history'
from contact
END;
爲什麼你不只使用新的更新值 – Vecchiasignora
@Stephia你使用的是哪個版本的Oracle?你如何檢查觸發器是否被創建?您是否嘗試運行此選擇語句:'select * from user_triggers where trigger_name ='TRIGGER_CONTACT_AF_UPDATE''? –
@Stephia你如何運行你的'Create Trigger'語句?你使用哪個軟件? –