TSQL中go的意思

出处:http://www.cnblogs.com/JCSU/articles/1099177.html8Dju o&jv0

+h|FQu5Z(ha6_+w0go 是SYBASE和SQL Server中用来表示事物结束,提交并确认结果,相当于ORACLE的Commit51Testing软件测试网 d ED c%t'K
Iw{3W/wM'TD0SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。 Hd;P wEK0 'oC)f.cz:zB*o0GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。51Testing软件测试网Bt)YV T&tuf 用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。 51Testing软件测试网;Wx{Jx-t:qu

USE pubs N xa]%y0GO .P/^)t{^ f1M8YWGV0DECLARE@MyMsgVARCHAR(50) 3BE&KGy8y1pb@0SELECT@MyMsg='Hello, World.' 51Testing软件测试网s"NN-OQ7ws3m8v GO-- @MyMsg is not valid after this GO ends the batch. 51Testing软件测试网 ry8dKU7s'{Z$P3j 51Testing软件测试网Ec(b HC'Ga pt -- Yields an error because @MyMsg not declared in this batch. 51Testing软件测试网"n {uP.U KB PRINT@MyMsg 51Testing软件测试网g-SB f'f8f-v GO
w(H/n,b5N8W0
SELECT@@VERSION; T [3v:VH0-- Yields an error: Must be EXEC sp_who if not first statement in  )NoQ|^e!C0-- batch. LA8O%l!p0sp_who W$p]%X1E0GO 51Testing软件测试网/oZ*Qq ~e*\&QG
51Testing软件测试网0j:r_Xh4?G

SQL Server 应用程序可将多条 Transact-SQL 语句作为一个批处理发给 SQL Server 去执行。在此批处理中的语句编译成一个执行计划。程序员在 SQL Server 实用工具中执行特定语句,或生成 Transact-SQL 语句脚本在 SQL Server 实用工具中运行,用 GO 来标识批处理的结束。 `Y,TJ5y|.Y\0如果基于 DB-Library、ODBC 或 OLE DB APIs 的应用程序试图执行 GO 命令时会收到语法错误。SQL Server 实用工具永远不会向服务器发送 GO 命令。51Testing软件测试网bcl3R {|cA 权限51Testing软件测试网wVX'l7w;u2O}4x ^ GO 是一个不需权限的实用工具命令。可以由任何用户执行。 }-{G4k m0F0示例51Testing软件测试网iWBmjQY 下面的示例创建两个批处理。第一个批处理只包含一条 USE pubs 语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用 GO 命令来做到。 

Y3nZe*wX3[6_'t0
USE pubs 4b7\3L%SGD8f0GO 51Testing软件测试网 R'Qa(kx DECLARE@NmbrAuthorsint 51Testing软件测试网U"D:cxy6q_a SELECT@NmbrAuthors=COUNT(*) 'N\COBjL/J0FROM authors 51Testing软件测试网w!`*e!v%kH PRINT'The number of authors as of '+ 51Testing软件测试网Wie;eI3kH9j?       CAST(GETDATE() ASchar(20)) +' is '+ &v7q ^m.D'gV0      CAST(@NmbrAuthorsASchar (10)) ,U-s:dKnaj0Z;`0GO
原文地址:https://www.cnblogs.com/suizhikuo/p/2322284.html