SQL Server没有BEFORE INSERT触发器吗?

时间:2018-05-17 22:45:33

标签: sql-server

对于Microsoft SQL Server,是否有BEFORE INSERT触发器?我看到AFTERINSTEAD OF但不仅仅是之前的not null。我只有一个计算值,我希望服务器填写插入行的instead of列。

由于实体框架问题,

{{1}}存在问题。

我没有要求将列设为NOT NULL或提供简单的默认值。我要求像许多其他SQL语言一样提供BEFORE INSERT触发器。

1 个答案:

答案 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触发器的视图视图。