我很了解T-SQL Transaction,开始trans,最终回滚或提交。
然而,什么是批次级别?这些运营商做了什么? ';'
和'GO'
3个术语之间有什么关系?
答案 0 :(得分:1)
终止声明。 GO终止一批语句。 ;是隐含的,并不是真的需要,除非运行某些语句,如MERGE,需要明确使用。
答案 1 :(得分:1)
GO
不是T-SQL语句。 GO
是SQL Server工具和实用程序使用的批处理分隔符,用于指示脚本中语句块的结尾。当在脚本中遇到GO
时,工具会将前一个语句块作为单个批处理发送到SQL Server以供执行。
分号是ANSI标准语句终止符语言元素,用于表示SQL语句的结尾。这些终结符有助于解析。尽管在大多数情况下T-SQL允许省略分号,但当以下语句是较新的关键字时,例如common-table表达式(随WITH
引入),则需要语句终止符。现在不推荐使用省略终结符,并提供向后兼容性。