在 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中文網其他相關文章!