zoukankan      html  css  js  c++  java
  • sql server中的go

    1. 作用:
    向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.
    2. 语法:
    一批 Transact-SQL 语句
    GO

    Select 1
    Select 2
    Select 3
    GO
    3. 说明:
    1) GO 不是 Transact-SQL 语句;
    2) 它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令.
    3) SQL Server 应用程序可以将多个 Transact-SQL 语句作为一个批发送到 SQL Server 的实例来执行.然后,该批中的语句被编译成一个执行计划.程序员在 SQL Server 实用工具中执行特殊语句,或生成 Transact-SQL 语句的脚本在 SQL Server 实用工具中运行时,使用 GO 作为批结束的信号.
    4) 如果基于 ODBC 或 OLE DB API 的应用程序试图执行 GO 命令,会收到语法错误.SQL Server 实用工具从不向服务器发送 GO 命令.
    4. 权限:
    GO 是一个不需任何权限的实用工具命令.它可以由任何用户执行.
    5. 用法:
    1) SQL Server 实用工具将 GO 解释为应该向 SQL Server 实例发送当前批 Transact-SQL 语句的信号.当前批语句由上一 GO 命令后输入的所有语句组成,如果是第一条 GO 命令,则由即席会话或脚本开始后输入的所有语句组成.

    SQL Server中go语句使用注意事项

    1、GO 命令和 Transact-SQL 语句不能在同一行中.但在 GO 命令行中可包含注释


    Select 1
    GO
    --会正确输出结果,列名为”无列名”

    Select 1 GO

    --会正确输出结果,列名为”GO”
    --由此可知此处的GO并未起到应有的作用;


    2、用户必须遵照使用批处理的规则.例如,在同一批处理中,创建数据库之后不能直接使用其新建的数据库


    create database [Roc]
    use [Roc]
    GO
    --运行此批处理后,系统会报错
    --把此批处理分成两个批即可正确运行


    create database [Roc]
    GO
    use [Roc]
    GO

     

    3、局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用

     

    declare @Roc varchar(max)
    Select @Roc = 'aking'
    GO
    print @Roc
    GO

    --此为两个批处理,由于局部变量的作用域要限制在一个批处理中,所以此语句错误
    --把这两个批合并为一个批即可正确运行

    declare @Roc varchar(max)
    Select @Roc = 'aking'
    print @Roc
    GO

     

    4、每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行

     

    select * from sysobjects where id=a
    select getdate()

    --你会发现会报错,并且不会显示任何结果集


    select * from sysobjects where id=a
    go
    select getdate()
    go

    --你会发现尽管同样会报错,但结果集中包含select getdate()的结果。


    5、GO [count] count 为正整数.指定GO 之前的批处理执行指定的次数

     

    insert [Roc] Select 'aking'
    GO
    --批处理执行1次,向表Roc中插入一行记录

    aking Insert [Roc] Select 'aking'
    GO 10
    --批处理执行10次,向表Roc中插入10行记录aking

  • 相关阅读:
    MySQL体系结构
    详解MySQL的用户密码过期/锁定解锁功能
    MySQL5.7 密码安全策略
    Python终端如何输出彩色字体
    flashback
    PXC 部署前置检查
    CentOS7 安装docker
    CentOS7 安装ifconfig
    CentOS 7 网络配置
    VMware虚拟机克隆Linux系统引起的网卡问题
  • 原文地址:https://www.cnblogs.com/Ting-light/p/9541279.html
Copyright © 2011-2022 走看看