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