T-SQL中的go是什么意思?

go 是SYBASE和SQL Server中用来表示事物结束,提交并确认结果,相当于ORACLE的Commit

SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语 句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。

GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。 
用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。 

  USE   pubs 
 
GO   
 
DECLARE     @MyMsg     VARCHAR  (  50 
 
SELECT     @MyMsg     =     '  Hello, World.  '   
 
GO     --   @MyMsg is not valid after this GO ends the batch.  
 

 
--   Yields an error because @MyMsg not declared in this batch.  
 
PRINT     @MyMsg   
 
GO

 

  SELECT     @@VERSION 
 
--   Yields an error: Must be EXEC sp_who if not first statement in   
 --
   batch.  
 
sp_who 
 
GO   

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

  USE   pubs 
 
GO   
 
DECLARE     @NmbrAuthors     int   
 
SELECT     @NmbrAuthors     =     COUNT  (  * 
 
FROM   authors 
 
PRINT     '  The number of authors as of   '     +   
       
  CAST  (  GETDATE  ()   AS     char  (  20  ))   +     '   is   '     +   
       
  CAST  (  @NmbrAuthors     AS     char   (  10  )) 
 
GO 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值