У меня есть проект BasicMSI (Installshield 2009), который выполняет сценарий SQL во время процесса установки.
Во время установки я получаю следующую ошибку.
Ошибка 27506. Ошибка при выполнении сценария SQL {SCRIPTNAME}. Строка 352. Неверный синтаксис рядом с ')'. (102)
Проблема в том, что у меня нет строки ')' в строке 352 сценария, а также сценарий работает без проблем, если я запускаю его с SQL Management Studio Express.
Может кто-нибудь сказать мне, в чем проблема и как я могу это исправить?
Спасибо.
PS. Я не могу установить опцию обработки ошибок скрипта на «При ошибке, перейти к следующему утверждению», потому что для этого он не будет создавать некоторые из моих внешних ключей.
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