一尘不染

T-SQL中的“;”和“ O”之间有什么区别?

sql

我使用ADO.NET以及sqlcmd实用程序将SQL脚本发送到SQL Server2008。使用;GO分隔SQL块之间有什么区别?


阅读 186

收藏
2021-03-17

共1个答案

一尘不染

GO实际上不是T-
SQL命令。该GO命令由Microsoft工具引入,是一种用于分隔批处理语句(例如存储过程的末尾)的方法。GOMicrosoft
SQL堆栈工具支持该工具,但正式不是其他工具的一部分。

您不能将aGO放入SQL字符串中并将其作为ADO.NET命令对象的一部分发送,因为SQL本身不理解该术语。探查器的另一种证明方法是:设置一些GO在Query
Analyzer / Management Studio中使用的语句,然后在执行时运行探查器。您将看到它们作为单独的命令发布到服务器。

分号用于表示语句本身的结束,而不必表示整个批处理。

http://msdn.microsoft.com/en-
us/library/ms188037.aspx

2021-03-17