内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
现在要检查的是:
如果插入值1=NULL,则将其更改为0
如何通过触发器进行操作?我搜索了一些例子,我从来没有做过触发器,所以这是相当令人困惑的。
到目前为止只有这个:
CREATE TRIGGER testTrigger ON myTable AFTER INSERT, UPDATE, DELETE
你可以添加默认值...。这就是新专栏的工作方法。对于现有的约束,应该添加约束。
ALTER TABLE table_name ADD column1 int NOT NULL DEFAULT(0)
若要设置默认值,首先应更新空值。
UPDATE table_name SET column1 = 0 WHERE column1 IS NULL
尝试添加约束
ALTER TABLE table_name ADD CONSTRAINT DF_column1 DEFAULT 0 FOR column1
可以在触发器中写入以下内容:
UPDATE T SET value1 =0 FROM table_name T JOIN INSERTED I ON T.<id>=I.<id> WHERE I.value1 is null
只能在触发器中访问的插入表将存储已插入的值。