天道酬勤

(转)T-SQL中go的意思

上一篇 / 下一篇  2008-05-07 16:29:09 / 个人分类:数据库

51Testing软件测试网k/f2Ku o f

出处:http://www.cnblogs.com/JCSU/articles/1099177.html

og%|\5J#J0
51Testing软件测试网^)Tsra

go 是SYBASE和SQL Server中用来表示事物结束,提交并确认结果,相当于ORACLE的Commit51Testing软件测试网8C:}c&V xJ3J1HK#H[

G:bzapU \0SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。
vm*K _9m"~O051Testing软件测试网b8j QG%A
GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。
Ei*G6\6Z'u0用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。 

+|6^XnC0
USE pubs 51Testing软件测试网8pzB*C(BE,l
GO 51Testing软件测试网K3r4_| I8C"C&L
DECLARE @MyMsg VARCHAR(50
?h])j0~Vp0
SELECT @MyMsg = 'Hello, World.' 51Testing软件测试网CM'U1]%NA!D!|
GO -- @MyMsg is not valid after this GO ends the batch. 
I DwauVj9X0

4x:n S(_P;[0
-- Yields an error because @MyMsg not declared in this batch. 51Testing软件测试网/B9Sld1xf%FR
PRINT @MyMsg 51Testing软件测试网]0r4T1Ek&G'o
GO
51Testing软件测试网5bk_1O[ HZ'W:zg
SELECT @@VERSION
q!n%f7Cm0
-- Yields an error: Must be EXEC sp_who if not first statement in  51Testing软件测试网H[6B8n7Z_&`
--
 batch. 
y2v E3R*Rv)Cg7K)fH0
sp_who 
t0A@5l5RrNa0
GO 
?\iF/nr:B0g y4X0
51Testing软件测试网5TY$n7CL$O-e.w D

SQL Server 应用程序可将多条 Transact-SQL 语句作为一个批处理发给 SQL Server 去执行。在此批处理中的语句编译成一个执行计划。程序员在 SQL Server 实用工具中执行特定语句,或生成 Transact-SQL 语句脚本在 SQL Server 实用工具中运行,用 GO 来标识批处理的结束。51Testing软件测试网7vC2sn6X
如果基于 DB-Library、ODBC 或 OLE DB APIs 的应用程序试图执行 GO 命令时会收到语法错误。SQL Server 实用工具永远不会向服务器发送 GO 命令。
`+L4o'M._o ^0权限51Testing软件测试网6D&u0[+E#V7k
GO 是一个不需权限的实用工具命令。可以由任何用户执行。
9y F#S6~U,No(B`0示例
PrI |BQ0下面的示例创建两个批处理。第一个批处理只包含一条 USE pubs 语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用 GO 命令来做到。  

w(HAOamc,}b0
USE pubs 51Testing软件测试网:c$?6Kkl
GO 51Testing软件测试网*ZEI&jZ_ ]v
DECLARE @NmbrAuthors int 51Testing软件测试网I1L;L+S;e PW?
SELECT @NmbrAuthors = COUNT(*
;S5I5e6ri!l0
FROM authors 51Testing软件测试网/X-uqa"spw2~
PRINT 'The number of authors as of ' + 
)LB'\?PX R1?0      
CAST(GETDATE() AS char(20)) + ' is ' + 51Testing软件测试网}9W3?/UO#B*z
      
CAST(@NmbrAuthors AS char (10)) 51Testing软件测试网r*m2@6w#ul)DOs
GO 

TAG: 数据库

 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 41273
  • 日志数: 65
  • 图片数: 1
  • 文件数: 2
  • 书签数: 13
  • 建立时间: 2006-12-27
  • 更新时间: 2008-05-31

RSS订阅

Open Toolbar