Проверка значений на UPDATE в INSTEAD триггере MSSQL

уважаемые

Есть таблица условно [table] с строковым полем [field]. Как написать триггер INSTEAD UPDATE, который бы 1. проверял, является ли оно нулл ИЛИ в есть ли в нём проблемы 2. Если да, то дропал ошибку и НЕ вносил данные 3. Если нет, то заносил данные

Надеюсь, смог объяснить, Спасибо!


Ответы (1 шт):

Автор решения: Scrappy Coco

Мне кажется, вам нужно использовать CHECK:

CREATE TABLE T (
  MyField NVARCHAR(100),
  CONSTRAINT chk_T_MyField CHECK (MyField IS NOT NULL AND MyField NOT LIKE N'% %')
);

Таким образом, следующие INSERT'ы выдадут ошибки:

INSERT INTO T (MyField) VALUES ('Hello World');
INSERT INTO T (MyField) VALUES (NULL)

А это завершится удачей:

INSERT INTO T (MyField) VALUES ('Hello_World')
→ Ссылка