挑战:
使用 GO 语句执行动态 SQL 查询触发错误“消息 102,级别 15,状态1、第 4 行“go”附近的语法不正确。
分析:
GO 不是有效的 Transact-SQL 语句,而是 sqlcmd、osql 识别的命令和 SQL Server Management Studio 代码编辑器。
解决方案:
要解决此错误,您必须从动态 SQL 中删除所有 GO 实例。删除 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);
注意:
问题中提供的示例代码仅用于说明目的。您执行的动态 SQL 可能包含不同的查询,但解决方案保持不变:删除 GO 的实例。
以上是为什么我的动态 SQL 查询会导致 SQL Server 中出现''go'附近语法错误”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!