对于Microsoft SQL Server,是否有BEFORE INSERT
触发器?我看到AFTER
和INSTEAD OF
但不仅仅是之前的not null
。我只有一个计算值,我希望服务器填写插入行的instead of
列。
{{1}}存在问题。
我没有要求将列设为NOT NULL或提供简单的默认值。我要求像许多其他SQL语言一样提供BEFORE INSERT触发器。
答案 0 :(得分:0)
在SQL Server BEFORE
中,触发器被称为INSTEAD OF
触发器。这只是一种不同的语法。
它在INSERT
发生之前执行,允许您拦截INSERT
并为行提供不同的值。
请参阅CREATE TRIGGER文档:
INSTEAD OF 指定执行DML触发器而不是 因此,触发SQL语句会覆盖该操作 触发陈述。无法为DDL或登录指定INSTEAD OF 触发器。
每个INSERT,UPDATE或DELETE最多只有一个INSTEAD OF触发器 可以在表或视图上定义语句。但是,您可以定义 每个视图都有自己的INSTEAD OF触发器的视图视图。