zoukankan      html  css  js  c++  java
  • T-SQL:批GO使用实例(十四)

    批是由客户端应用程序作为一个单元发送给SQL Server 执行的一条或多条语句  如果批中出现错误就整个批都不会交给SQL SERVER 执行

    PRINT '第一批';GO
    -- Invalid batch
    PRINT '第二批';
    SELECT custid FROM Sales.Customers;
    SELECT orderid FOM Sales.Orders;
    GO
    -- Valid batch
    PRINT '第三批';
    SELECT empid FROM HR.Employees;

     

    一起执行会发现第二批出现错误就没有提交执行

    批由GO命令 隔断 

      

    DECLARE @i AS INT = 10;
    -- Succeeds
    PRINT @i;
    GO
    
    -- Fails
    PRINT @i;
    GO

    Go 隔断了 @i 变量 就会报错  

    例如还有一种情况

    IF OBJECT_ID('Sales.MyView', 'V') IS NOT NULL DROP VIEW Sales.MyView;
    
    CREATE VIEW Sales.MyView
    AS
    
    SELECT YEAR(orderdate) AS orderyear, COUNT(*) AS numorders
    FROM Sales.Orders
    GROUP BY YEAR(orderdate);
    GO
    CREATE VIEW Sales.MyView
    AS 

      

    create view  必须是批中第一个语句  所以 在create view 前面 加 go命令 进行截断 

     还有 在同一批中更改架构 会出现错误  需要放到两个批中

    CREATE TABLE dbo.T1(col1 INT);
    GO
    
    -- Following fails
    ALTER TABLE dbo.T1 ADD col2 INT;
    SELECT col1, col2 FROM dbo.T1;
    GO

    也可以用GO 循环运行批如:

    print '1123'
    GO 5

    可以用来批量新增语句

  • 相关阅读:
    logging模板日志格式
    MariaDB修改默认字符集
    Django之表单验证
    Django之定制属于自己的admin
    sympy-高数可以这么学
    matplotlib01
    mysql---- 用户权限管理
    django----JSONP知识回顾
    django----文件上传
    数据库结构备份
  • 原文地址:https://www.cnblogs.com/feizianquan/p/9483923.html
Copyright © 2011-2022 走看看