t-sql语言go的作用的简单介绍

T-SQL中的go是什么意思?SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号 。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句 。GO 命令和Transact-SQL 语句不可在同一行上 。但在 GO 命令行中可包含注释 。用户必须遵照使用批处理的规则 。例如 , 在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字 。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用 。USE pubsGODECLARE @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 @MyMsgGOSELECT @@VERSION;-- Yields an error: Must be EXEC sp_who if not first statement in -- batch. sp_whoGOSQL 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 语句,用于设置数据库上下文 。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中 。
SQL语句中go有什么作用SQL语句中go有什么作用
如果只是执行一条语句t-sql语言go的作用,有没有GO都一样
如果多条语句之间用GO分隔开就不一样t-sql语言go的作用了
每个被GO分隔的语句都是一个单独的事务t-sql语言go的作用,一个语句执行失败不会影响其它语句执行 。
例如t-sql语言go的作用:
首先同时执行下边的语句
select * from sysobjects where id=a
select getdate()
你会发现会报错,并且不会显示任何结果集
而你再执行
select * from sysobjects where id=a
go
select getdate()
go
你会发现尽管同样会报错,但结果集中包含select getdate()的结果 。
请问SQL语句中go有什么作用?
检视sql的帮助即可,很详细地说 。
GO
Signals the end of a batch of Transact-SQL statements to the Microsoft? SQL Server? utilities.
Syntax
GO
Remarks
GO is not a Transact-SQL statement; it is a mand recognized by the osql and isql utilities and SQL Query Analyzer.
SQL Server utilities interpret GO as a signal that they should send the current batch of Transact-SQL statements to SQL Server. The current batch of statements is posed of all statements entered since the last GO, or since the start of the ad hoc session or script if this is the first GO. SQL Query Analyzer and the osql and isql mand prompt utilities implement GO differently. For more information, see osql Utility, isql Utility, and SQL Query Analyzer.
A Transact-SQL statement cannot oupy the same line as a GO mand. However, the line can contain ments.
Users must follow the rules for batches. For example, any execution of a stored procedure after the first statement in a batch must include the EXECUTE keyword. The scope of local (user-defined) variables is limited to a batch, and cannot be referenced after a GO mand.
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

推荐阅读