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
Ответы
Ответ 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