当我使用右键单击“脚本为”菜单创建查询时,SQL Server Management Studio始终会插入GO命令。为什么?GO实际做什么?
当我使用右键单击“脚本为”菜单创建查询时,SQL Server Management Studio始终会插入GO命令。为什么?GO实际做什么?
Answers:
这是一个批处理终止符,但是您可以将其更改为所需的任何值
GO命令不是Transact-SQL语句,而是由多个MS实用程序(包括SQL Server Management Studio代码编辑器)识别的特殊命令。
GO命令用于将SQL命令分成批处理,然后一起发送到服务器。批处理中包含的命令(即自上一个GO命令或会话开始以来的命令集)必须在逻辑上保持一致。例如,您不能在一个批次中定义一个变量,然后在另一个批次中使用它,因为变量的范围仅限于定义它的批次。
有关更多信息,请参见http://msdn.microsoft.com/zh-cn/library/ms188037.aspx。
GO
实际上有用?
只是为了添加到现有答案中,在创建视图时,必须使用将这些命令分成批处理go
,否则将收到错误消息'CREATE VIEW' must be the only statement in the batch
。因此,例如,如果没有以下命令,您将无法执行以下sql脚本:go
create view MyView1 as
select Id,Name from table1
go
create view MyView2 as
select Id,Name from table1
go
select * from MyView1
select * from MyView2