【问题标题】:Create a trigger on table whenever a column is inserted or updated每当插入或更新列时在表上创建触发器
【发布时间】:2021-12-07 08:42:08
【问题描述】:

我有一张表,其描述如下

Name                          Null     Type           
----------------------------- -------- -------------- 
ID                            NOT NULL NUMBER         
CMP                                    NVARCHAR2(100) 
SAP_ID                                 NVARCHAR2(100) 
ID_OD_COUNTCHANGE                      NVARCHAR2(100) 
ID_OD_CHANGEDDATE                      DATE           
RRH_COUNTCHANGE                        NVARCHAR2(100) 
RRH_CHANGEDDATE                        DATE           
TENANCY_COUNTCHANGE                    NVARCHAR2(100) 
TENANCY_CHANGEDDATE                    DATE           
RFS_DATE                               DATE           
RFE1_DATE                              DATE           
INFRA_PROVIDER                         NVARCHAR2(100) 
IP_COLO_SITEID                         NVARCHAR2(100) 
SITE_NAME                              NVARCHAR2(500) 
R4GSTATE                               NVARCHAR2(100) 
MW_INSTALLED                           NVARCHAR2(100) 
DG_NONDG                               NVARCHAR2(100) 
EB_NONEB                               NVARCHAR2(100) 
TOWER_TYPE                             NVARCHAR2(100) 
VENDOR_CODE                            NVARCHAR2(100) 
RFCDATE                                DATE           
POLITICAL_STATE_NAME                   NVARCHAR2(100) 
POLITICAL_STATE_CODE                   NVARCHAR2(100) 
SITE_DROP_DATE                         DATE           
CITY_NAME                              NVARCHAR2(100) 
NEID                                   NVARCHAR2(100) 
FACILITY_LATITUDE                      NVARCHAR2(100) 
FACILITY_LONGITUDE                     NVARCHAR2(100) 
RJ_STRUCTURE_TYPE                      NVARCHAR2(100) 
RJ_JC_NAME                             NVARCHAR2(100) 
RJ_JC_CODE                             NVARCHAR2(100) 
COMPANY_CODE                           NVARCHAR2(100) 
BLCHAIN_RESP_MSG_MASTER                NVARCHAR2(100) 
BLCHAIN_RESP_CODE_MASTER               NVARCHAR2(100) 
SITE_ADDRESS                           CLOB           
BLCHAIN_RESP_MSG_INCREMENTAL           VARCHAR2(100)  
BLCHAIN_RESP_CODE_INCREMENTAL          VARCHAR2(100)  
CREATED_BY                             NVARCHAR2(100) 
CREATED_DATE                           DATE           
SEL_CHANGED_VAL                        NVARCHAR2(100) 
CMM                                    NVARCHAR2(20)  
FCA                                    NVARCHAR2(20)  
LAST_UPDATED_BY                        NVARCHAR2(100) 
LAST_UPDATED_DATE                      DATE 

我想要的是,我想编写一个触发器,每当插入或更新任何行时,我都想通过 SYSDATE 更新 LAST_UPDATED_DATE 列。

如何创建触发器?

【问题讨论】:

标签: oracle triggers


【解决方案1】:

对于Insert,您可以使用表中的DEFAULT 子句,对于UPDATE,您可以按如下方式创建简单触发器:

CREATE OR REPLACE TRIGGER TRG_NAME 
    BEFORE UPDATE ON YOUR_TABLE_NAME
    FOR EACH ROW
BEGIN
    :NEW.LAST_UPDATED_DATE := SYSDATE;
END;
/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-13
    • 2016-05-17
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2013-06-10
    • 2018-12-10
    • 2015-11-06
    相关资源
    最近更新 更多