before trigger语句是在ddl语句之前执行还是在ddl语句内部执行?
我正在构建一个小型dbms,目前正在开发ddl,我对处理before语句感到困惑。
这里没有一个明确的行为:
https://web.csulb.edu/colleges/coe/cecs/dbdesign/dbdesign.php?page=sql/ddldml.php
oracle描述了行为,但没有描述前一个或后一个触发器内部的内容,也没有描述它们是否是ddl语句:
https://www.oracletutorial.com/plsql-tutorial/oracle-trigger/
1条答案
按热度按时间1dkrff031#
“before”是定义触发器的ddl语句的一部分。它描述何时触发与表上的dml命令相关的触发器:即在实际更改数据之前或之后。这允许您在应用新数据时对其进行验证或修改,或者在父表更新完成后添加或修改从属数据(如子表)。
虽然技术上可以使用“executeimmediate”将ddl嵌入到触发器的主体中,但这样做通常被认为是非常糟糕的做法。在触发器中包含ddl语句时,您是否考虑了一个特定的用例?