【问题标题】:Is this DML or DDL trigger?这是 DML 还是 DDL 触发器?
【发布时间】:2019-07-26 16:29:33
【问题描述】:

我想问一下这是 DML 还是 DDL 触发器?

CREATE OR REPLACE TRIGGER INFORMATION_TIMEZONE
BEFORE INSERT ON information 
FOR EACH ROW 
BEGIN  

 IF (session_params.getCurrentRefperso) IS NOT NULL THEN
        :new.DT_HOUR_TIME_ZONE := current_timestamp();
 END IF;

END;

【问题讨论】:

  • DML,触发条件(插入前)与表相关,而不是例如会话或数据库。
  • 你知道 DML 和 DDL 代表什么吗?如果你这样做了,你应该能够很容易地解决它。如果你不这样做,那么在问这个问题之前你还没有做足够的研究。

标签: sql plsql triggers ddl dml


【解决方案1】:

BEFORE INSERT 定义此触发器在INSERT 完成时触发。

由于INSERT是DML语句,所以触发器是DML触发器。

DDL 触发器将例如在触发器定义中有BEFORE CREATEBEFORE DROP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2011-02-04
    • 2011-04-11
    • 2010-12-28
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多