首頁 >資料庫 >mysql教程 >執行動態 SQL 查詢時如何處理「'go'附近語法不正確」錯誤?

執行動態 SQL 查詢時如何處理「'go'附近語法不正確」錯誤?

Linda Hamilton
Linda Hamilton原創
2025-01-05 13:50:39804瀏覽

How to Handle

在 SQL 中使用 GO 執行動態查詢

在 SQL 中使用 GO 語句執行動態查詢可能會導致錯誤,因為 GO 不是可辨識的 SQL 指令。要解決此問題,在執行動態 SQL 字串之前從動態 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn