インストール プロセス中に SQL スクリプトを実行する BasicMSI プロジェクト (Installshield 2009) があります。インストール中に、次のエラーが表示されます。
エラー 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