请帮我解决以下问题在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'语句?你使用哪个软件? –