私は、インストールプロセス中に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
スクリプトを投稿します。 –