У меня есть таблица, определенная так
CREATE TABLE [dbo].[ObjectRelationClauses]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[RelationId] INT NOT NULL,
[OperatorType] NVARCHAR(3) NOT NULL,
[LocalPropertyId] INT NOT NULL,
[ForeignPropertyId] INT NULL,
[ForeignValue] VARCHAR(255) NULL,
[ParentClauseId] INT NULL
)
Мне нужно иметь возможность вызвать ошибку, если значение обоих столбцов ForeignPropertyId
и ForeignValue
равно null
, иначе я хочу выполнить операцию.
Вот что я пробовал
CREATE TRIGGER [dbo].[Trigger_ObjectRelationClauses]
ON [dbo].[ObjectRelationClauses]
FOR INSERT, UPDATE
AS
BEGIN
SET NoCount ON
IF(ForeignPropertyId IS NULL AND ForeignValue IS NULL)
BEGIN
RAISERROR('Either ForeignPropertyId or ForeignValue must be provided to perform this action!')
END
END
но это дает мне синтаксическую ошибку. Возможно, я неправильно использую RAISERROR
.
Как правильно добавить триггер для проверки данных на INSERT
и UPDATE
?