我刚开始使用 SQL,但在任何地方都找不到如何创建一个触发器来响应另一个触发器的完成。有任何想法吗?
另外,有没有办法让语句AFTER
中的表达式CREATE TRIGGER
有多个子句?例如:
CREATE TRIGGER ExampleTrigger
AFTER UPDATE OF thing
ON SampleTable OR
AFTER UPDATE OF boat
ON Sample Table ...
请参阅此处的Oracle 文档以获取有关触发器的更详细和准确的参考。
仅供参考,触发器是针对数据库中表上的特定 DML 事件执行的一组命令。这隐含地意味着您不能通过任何类型的命令显式执行触发器。调用触发器的唯一方法是执行覆盖的 DML 语句。
接下来,仅在一个表上设置触发器。可以为多个事件设置它,例如INSERT
,UPDATE
和/或DELETE
,但触发器只会作用于一张桌子。您不能为多个表设置单个触发器。不过,您可以为多个事件设置触发器。您可以这样指定:
CREATE TRIGGER myTrigger
AFTER INSERT OR UPDATE ON myTable
...
这里要注意的另一件事是,如果您希望为多个表执行相同的代码,最好将其放在存储过程或包中,并从所需的触发器访问该过程。