看看msdn,有一个关于"GO"命令的例子.为什么会有:
USE somedb
GO
...
...
Run Code Online (Sandbox Code Playgroud)
在不同的批次中选择db是必要的吗?谢谢你的解释!
Cad*_*oux 15
是否有必要在不同批次中选择db?
不,但是,某些命令必须是批处理中的第一个语句.
例子包括CREATE VIEW,CREATE PROCEDURE和CREATE TRIGGER.
因此,如果你想这样做:
USE DB
CREATE VIEW X AS SELECT * FROM Y
Run Code Online (Sandbox Code Playgroud)
然后你需要做:
USE DB
GO
CREATE VIEW X AS SELECT * FROM Y
Run Code Online (Sandbox Code Playgroud)
如果您只运行一个USE DB语句,GO则没有用处.
某些命令不要求它们是批处理中的第一个语句:
USE DB
SELECT * FROM X
Run Code Online (Sandbox Code Playgroud)
有时在代码生成中,可能不需要所有GO命令,但生成它们更容易.