Подтвердить что ты не робот

SQL, проверьте, было ли введено определенное значение

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

Теперь, что проверить:

Если вставлено value1 = null, измените его на 0

Как это сделать с помощью триггера? Я искал Google для примеров, и я никогда не делал триггера, так что это довольно запутанно.

До сих пор было только это:

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

Ответ 1

Вы можете добавить значение по умолчанию. Вот как это делается для нового столбца. Для существующего вы должны добавить ограничение. Проверьте Обновить 2

ALTER TABLE table_name 
ADD column1 int NOT NULL DEFAULT(0)

Добавьте столбец со значением по умолчанию в существующую таблицу в SQL Server

UPDATE:

Чтобы установить значение по умолчанию, сначала необходимо обновить значения NULL.

UPDATE table_name 
SET column1 = 0
WHERE column1 IS NULL

ОБНОВЛЕНИЕ 2:

Попробуйте добавить ограничение

ALTER TABLE table_name 
ADD CONSTRAINT DF_column1 DEFAULT 0 FOR column1 

Ответ 2

Вы можете записать это в триггере:

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

Таблица INSERTED, доступная только внутри триггера, сохранит введенные значения.

Ответ 3

используйте значение ISNULL для значения INSERTED

 SELECT ISNULL(INSERTED,0) FROM INSERTED