SQL Server的GO语句引起了我极大的好奇心,我真的不知道如何正确使用它。
GO
我注意到无论有没有查询GO都不会返回错误并且似乎工作相同,那么它的目的是什么,我为什么要使用它?
;分号和GO查询末尾有什么区别?
;
GO不是 TSQL 语言的一部分。它是 SQLCMD 和 SSMS 使用的批处理分隔符。
GO 不是 Transact-SQL 语句;它是 sqlcmd 和 osql 实用程序以及 SQL Server Management Studio 代码编辑器识别的命令。 SQL Server 实用程序将 GO 解释为它们应该将当前批次的 Transact-SQL 语句发送到 SQL Server 实例的信号。当前批次的语句由自上次 GO 或自特别会话或脚本开始(如果这是第一个 GO)以来输入的所有语句组成。 Transact-SQL 语句不能与 GO 命令占用同一行。但是,该行可以包含注释。
GO 不是 Transact-SQL 语句;它是 sqlcmd 和 osql 实用程序以及 SQL Server Management Studio 代码编辑器识别的命令。
SQL Server 实用程序将 GO 解释为它们应该将当前批次的 Transact-SQL 语句发送到 SQL Server 实例的信号。当前批次的语句由自上次 GO 或自特别会话或脚本开始(如果这是第一个 GO)以来输入的所有语句组成。
Transact-SQL 语句不能与 GO 命令占用同一行。但是,该行可以包含注释。
SQL Server 实用程序语句 - GO
它起源于命令行界面,并且一直存在于 sqlcmd 中。您可以在命令行界面中通过多行编写批处理,并且在您键入go.
go
1> select name, create_date 2> from sys.objects 3> where name = 'foo' 4> go name create_date --------- ----------- foo 2020-07-20 09:56:42.393 (1 rows affected) 1>
您可以在 SSMS 中配置用于批处理分隔符的内容。GO是默认值,但它可以是其他任何东西。