在T-SQL示例中为什么在USE db之后出现“GO”?

时间:2010-05-31 10:16:01

标签: sql sql-server

看看msdn,有一个关于“GO”命令的例子。为什么会有:

USE somedb
GO
...
...

在不同的批次中选择db是必要的吗?谢谢你的解释!

2 个答案:

答案 0 :(得分:14)

  

是否有必要选择db in   不同批次?

但是,某些命令必须是批处理中的第一个语句。

示例包括CREATE VIEWCREATE PROCEDURECREATE TRIGGER

因此,如果你想这样做:

USE DB

CREATE VIEW X AS SELECT * FROM Y

然后你需要这样做:

USE DB
GO

CREATE VIEW X AS SELECT * FROM Y

如果您只运行一个USE DB语句,则GO没有用处。

某些命令不要求它们是批处理中的第一个语句:

USE DB
SELECT * FROM X

有时在代码生成中,可能不需要所有GO命令,但生成它们更容易。

答案 1 :(得分:0)

它向SQL Server实用程序发出一批Transact-SQL语句的结束信号。 您可以在此处查看更多详情:GO (Transact-SQL)