使用 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中文网其他相关文章!