在SQL Server Management Studio和Transact SQL中使用GO有什么用?
当我使用右键单击“脚本为”菜单创build查询时,SQL Server Management Studio总是插入一个GO命令。 为什么? GO实际上做了什么?
这是一个批终止符,但是你可以改变它到任何你想要的
从Management Studio 2005开始,看起来你可以用一个int
参数来使用GO
,比如:
INSERT INTO mytable DEFAULT VALUES GO 10
以上将在mytable
插入10行。 一般来说, GO
会执行相关的sql命令n
次。
GO命令不是Transact-SQL语句,而是由几个MS实用程序(包括SQL Server Management Studio代码编辑器)识别的特殊命令。
GO命令用于将SQL命令组合成一起发送到服务器的批处理。 批处理中包含的命令,即自上次GO命令或会话开始以来的一组命令,必须在逻辑上一致。 例如,您不能在一个批处理中定义一个variables,然后在另一个批处理中使用它,因为该variables的作用域被限制在其定义的批处理中。
有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/ms188037.aspx 。
GO不是一个SQL关键字。
这是客户端工具(如SSMS)使用的批处理分隔符,将整个脚本分成多个批次
前几次回答… 例1
Use herDatabase GO ;
代码表示执行GO
标记上方的指令。 我的默认数据库是myDatabase,所以不是使用myDatabase GO
,而是使当前查询使用herDatabase
只要添加现有答案,当您创build视图时,您必须使用go
将这些命令分成批次,否则您将收到错误'CREATE VIEW' must be the only statement in the batch
。 所以,例如,你将无法执行下面的SQL脚本
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
这是GO的魔力。
SELECT 'Go' Go 10
语法:去INT (BatchNumber)
批号:发生次数
看起来很简单,如果你编码的更深,它可能导致你到意大利面 。