我正在尝试在表上设置触发器,以便在RaiseError
满足条件时返回字符串中插入行的列值。
我正在努力将列值放入错误消息中,我的想法是使用动态 SQL,但是我无法运行它:
关键字“选择”附近的语法不正确
关于如何让它运行的任何想法?
AFTER INSERT, UPDATE
AS
IF (ROWCOUNT_BIG() = 0)
RETURN;
ELSE IF EXISTS (SELECT * FROM inserted AS a
WHERE Label = '0')
BEGIN
DECLARE @Error VARCHAR(100)
DECLARE @UpdateError VARCHAR(100)
DECLARE @Lay_Class VARCHAR(50)
SET @Lay_Class = (SELECT [Lay_Class] FROM inserted);
SET @UpdateError = 'Set @error = ''Error: ' + @Lay_Class + ' New Lay Class, Please add to Case When on Label''';
EXEC sp_executesql @UpdateError;
RAISERROR(@Error, 16, 1);
ROLLBACK TRANSACTION;
RETURN;
END
ELSE ... etc