我有一个在安装过程中运行 SQL 脚本的 BasicMSI 项目(Installshield 2009)。在安装过程中,我收到以下错误。
错误 27506。执行 SQL 脚本 {SCRIPTNAME} 时出错。第 352 行。')' 附近的语法不正确。(102)
问题是我在脚本的第 352 行没有任何“)”,如果我使用 SQL Management Studio Express 运行它,该脚本也可以正常工作。
谁能告诉我问题是什么,我该如何解决?谢谢。
PS。我无法将脚本错误处理选项设置为“On Error, Goto Next Statement”,因为它不会创建我的一些外键。
IF NOT EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[TRIGGER_NAME]'))
EXEC dbo.sp_executesql @statement = N'
CREATE TRIGGER [dbo].[TRIGGER_NAME]
ON [dbo].[TABLE_NAME] -- LINE: 352
INSTEAD OF INSERT
AS
BEGIN
DECLARE @Count INT;
SET @Count = (SELECT COUNT([Name])
FROM TABLE_NAME
WHERE IsDeleted = 0 AND [Name] IN (SELECT [Name] FROM INSERTED));
IF @Count > 0
BEGIN
RAISERROR (''Error Message.'', 16, 1);
Rollback;
END
ELSE
BEGIN
INSERT INTO dbo.TABLE_NAME SELECT {Columns} FROM INSERTED;
SELECT CONVERT(BigInt,SCOPE_IDENTITY()) AS [value]
END
END
'
GO