25
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

今何をチェックするか:

挿入された値1 = nullの場合、0に変更します

トリガーを介してそれを行う方法は?私は例をグーグルで検索しましたが、トリガーを実行したことがないため、かなり混乱しています。

これまでのところこれしかありません:

CREATE TRIGGER testTrigger
ON myTable
AFTER INSERT, UPDATE, DELETE
4

3 に答える 3

14

デフォルト値を追加できます。これは、新しい列に対して行われる方法です。既存のものについては、制約を追加する必要があります。アップデート 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 
于 2012-09-06T11:38:51.173 に答える
12

これをトリガーに書くことができます:

UPDATE T SET value1 =0
FROM   table_name T
JOIN   INSERTED I
ON     T.<id>=I.<id>
WHERE  I.value1 is null

トリガー内でのみアクセス可能な INSERTED テーブルには、挿入された値が格納されます。

于 2012-09-06T11:39:00.300 に答える
2

INSERTED値に ISNULL を使用する

 SELECT ISNULL(INSERTED,0) FROM INSERTED
于 2012-09-06T11:42:06.303 に答える