GO は認識される SQL コマンドではないため、SQL で GO ステートメントを使用して動的クエリを実行すると、エラーが発生する可能性があります。この問題を解決するには、実行前に動的 SQL 文字列から GO のすべてのインスタンスを削除することが重要です。
例:
動的クエリを実行しようとする次のコードを考えてみましょう。
DECLARE @script VARCHAR(MAX); SET @script = ' create table ali(id decimal(10,0)); drop table ali; go create table ali(id decimal(10,0)); drop table ali; ' EXEC (@script);
このクエリを実行すると、次のエラーが発生します:
Msg 102, Level 15, State 1, Line 4 Incorrect syntax near 'go'.
これを解決するにはエラー。動的 SQL 文字列から GO のすべてのインスタンスを削除します:
DECLARE @script VARCHAR(MAX), @script1 VARCHAR(MAX); SET @script = ' create table ali(id decimal(10,0)); drop table ali; '; SET @script1 = ' create table ali(id decimal(10,0)); drop table ali; '; EXEC (@script); EXEC (@script1);
この変更されたコードは、「'go' 付近の構文が正しくありません」エラーが発生することなく、両方のクエリを正常に実行します。
以上が動的 SQL クエリの実行時に「'go' 付近の構文が正しくありません」エラーを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。