[英]SQL trigger, check if certain value was entered
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)
更新:
要設置默認值,首先應更新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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.