我有一个BasicMSI项目(Installshield 2009),它在安装过程中运行SQL脚本。 在安装过程中,我收到以下错误。')'附近的语法不正确
错误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
发布脚本。 – 2009-07-14 10:15:52