SQL触发器,检查是否输入了某个值
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
现在要检查什么:
如果插入value1 = null,则将其更改为0
如何通过触发器来做到这一点? 我搜索了一些例子,我从来没有做过触发器,所以它很混乱。
到目前为止只有这样:
CREATE TRIGGER testTrigger
ON myTable
AFTER INSERT, UPDATE, DELETE
您可以添加默认值 。 这是如何完成一个新的专栏。 对于现有的你应该添加约束。 检查更新2
ALTER TABLE table_name
ADD column1 int NOT NULL DEFAULT(0)
将具有默认值的列添加到SQL Server中的现有表
更新:
要设置默认值,您应该首先更新NULL值。
UPDATE table_name
SET column1 = 0
WHERE column1 IS NULL
更新2:
尝试添加约束
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
只能在触发器内访问的INSERTED表将存储已插入的值。
对INSERTED值使用ISNULL
SELECT ISNULL(INSERTED,0) FROM INSERTED
链接地址: http://www.djcxy.com/p/24713.html
上一篇: SQL trigger, check if certain value was entered
下一篇: first migration: How to set default value for new property?