"GO"附近语法不正确 - TADOQuery

3

可能是重复问题:
如何从Delphi运行数据库脚本文件?

我有一个非常长的SQL脚本要用查询来运行,它更新字段、创建表、创建过程等等。因此,周围有很多'GO'这个单词,否则它将无法正常工作。

在MSSQL查询上,脚本可以完美地工作,而在ADO查询上,我得到了以下结果:

“GO”附近的语法不正确

编辑:好的,我想我们已经非常清楚地确定了ADO查询将不会读取单词“GO”。然而,没有单词“GO”,我的代码将无法工作,必须在第一行创建过程,我在文件中有几个这样的过程。这是一个问题。

那么唯一的解决方法就是创建单独的查询吗?


1
请阅读此问题:https://dev59.com/VFfUa4cB1Zd3GeqPFCQn#5985810 - RRUZ
投票关闭。 RRUZ在相关问题中提供的答案应该足够OP开始工作了。哦,顺便说一句,GO语句不是有效的SQL命令 <vbg>。 - Lieven Keersmaekers
我同意,我想挑选一个,但他们都给了相同的答案,这会让它有点不公平。请关闭这个帖子。 - Rosenberg
根据您的编辑,您可以发布一个关于如何处理包含存储过程/触发器等以及所需的GO语句的脚本的问题。然而,这将类似于RRUZ对其他问题的回答;除了您希望执行脚本中每个部分之间的GO语句作为单独的查询,而不是一个大查询,只是去掉了GO语句。 - Disillusioned
;替换GO是否可以解决这个问题? - Disillusioned
3个回答

3
是的。移除GO - 这不是有效的SQL语句。
它是Microsoft SQL实用程序特定的语法 - 参见MSDN

SQL Server实用程序发出一批Transact-SQL语句结束的信号。

(强调我的)

1

Go 是批处理终止符,它不是 SQL,可以通过 SSMS 理解。当从 ADO 运行时,只需删除 GO。


1

GO 不是 SQL 命令,而是 SSMS 所识别的批处理终止符。


抱歉,不小心编辑了您的答案...对此感到抱歉,我已将其恢复。 - SQLMenace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接