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 

T-SQL中的go是什么意思?相关推荐

  1. SQL 中循环、for循环、游标

    我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...

  2. SQL中的case when then else end用法

    2019独角兽企业重金招聘Python工程师标准>>> Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN ...

  3. 在SQL中使用CRL函数示例

    在SQL中使用CRL函数 实验目标: 1. 在SQL中创建CRL函数,使之能够向指定的计算机发送消息 实验步骤 2. 在VS中创建类发送消息的类 3. 将以下代码黏贴进去 using System; ...

  4. pl/sql中三种游标循环效率对比

    pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html 转载于:https://b ...

  5. SQL中内连接、外连接、交叉连接

    SQL中内连接.外连接.交叉连接 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:            book表                                      ...

  6. 简单介绍SQL中ISNULL函数使用方法

    这篇文章介绍了SQL Server.MySQL.Oracle三种数据库中ISNULL函数的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 SQL Ser ...

  7. SQL 中left join ,inner join,right join的区别

    2019独角兽企业重金招聘Python工程师标准>>> sql中存在有左连接  插入 右连接 sql语句 left join ,inner join,right join 进行 wh ...

  8. 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?

    什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名 ...

  9. SQL中where与having的区别

    SQL中where与having的区别 目录 SQL中where与having的区别 创建表 插入数据 进行聚合操作 # WHERE是在聚合之前进行数据行的过滤而HAVING实在聚合之后进行新数据的过 ...

  10. php exec和query,关于Go SQL中的Query、Exec和Prepare使用对比(附网络抓包)

    下面由golang教程栏目给大家介绍关于Go SQL中的Query.Exec和Prepare使用对比(附网络抓包) ,希望对需要的朋友有所帮助! Go 附带的 database/sql 库可以与任何关 ...

最新文章

  1. python运行不了control+shift+i_Python不支持 i ++ 语法的原因解析
  2. 盘点丨2017年亚洲新晋18家独角兽公司
  3. 博客园网站程序的一个小问题
  4. redis的学习使用,第四章
  5. C#窗体控件-按钮控件Button
  6. nginx 二进制包安装mysql_二进制安装mysql5.7
  7. 叶金荣mysql教程_mysql优化--叶金荣老师讲座笔记
  8. C++ const对象
  9. C# 基础知识和VS2010的小技巧总汇(2)[转]
  10. mysql注解批量添加mybatis_Mybatis注解方式 实现批量插入数据库
  11. 第一次做项目经理的感触和启发
  12. python编程100例-一,python编程100例
  13. 最大熵模型与EM算法及python实现
  14. 处理 Vue-Router + Webpack 动态加载的一些小问题
  15. ILSVRC2012下载+训练
  16. #原创分享# DDD领域建模---老调新弹之【实体】
  17. 收藏 | 堪称神器的42款Chrome插件
  18. MySQL缓存策略详解
  19. dellg3计算机rom,戴尔G3 U盘装系统win7教程
  20. 2009年甲骨文学院教师培训

热门文章

  1. 基于粒子群算法的混合储能容量配置matlab 以风光互补发电储能系统为背景,以年运行成本最低为目标
  2. 跨境亚马逊注册流程图-企业店铺
  3. 一对一直播源码开发选择Java还是php?
  4. python初学者的书籍推荐_推荐几本2020年初学者学习Python最佳书籍
  5. 顶刊TPAMI 2020 | 一文打尽无监督多类域适应:理论,算法与实践
  6. ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别
  7. asp.net报社图片库管理系统
  8. OSChina 周二乱弹 —— 你每天的工作就是摁电脑?
  9. 内部转发和重定向区别
  10. STM32F103标准库开发----CAN总线通信实验----发送和接收