使用 GO 執行動態 SQL 查詢時,可能會因語法無效而遇到錯誤。其中一個問題是查詢字串中存在「GO」語句。
在 T-SQL 中,「GO」用作批次分隔符,指示一批語句的結束。但是,在執行動態查詢時,「GO」不是有效的語句。
要解決此問題,請從動態查詢字串中刪除所有「GO」實例。或者,您可以使用識別「GO」指令的工具,例如 osql 或 sqlcmd。如下修改查詢,您可以成功執行它,而不會遇到「'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」不是有效的T-SQL 語句,不應該包含在動態SQL 查詢中。刪除“GO”或使用相容的工具可確保動態查詢的正確執行。
以上是如何處理 Go 動態 SQL 查詢中的「'go' 附近語法錯誤」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!