';'之间的关系是什么? /'GO'/ SQL Server中的事务

时间:2017-03-23 01:48:22

标签: sql-server ssms

我很了解T-SQL Transaction,开始trans,最终回滚或提交。

然而,什么是批次级别?这些运营商做了什么? ';''GO'

3个术语之间有什么关系?

2 个答案:

答案 0 :(得分:1)

终止声明。 GO终止一批语句。 ;是隐含的,并不是真的需要,除非运行某些语句,如MERGE,需要明确使用。

答案 1 :(得分:1)

GO不是T-SQL语句。 GO是SQL Server工具和实用程序使用的批处理分隔符,用于指示脚本中语句块的结尾。当在脚本中遇到GO时,工具会将前一个语句块作为单个批处理发送到SQL Server以供执行。

分号是ANSI标准语句终止符语言元素,用于表示SQL语句的结尾。这些终结符有助于解析。尽管在大多数情况下T-SQL允许省略分号,但当以下语句是较新的关键字时,例如common-table表达式(随WITH引入),则需要语句终止符。现在不推荐使用省略终结符,并提供向后兼容性。