• 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

    可以用来批量新增语句

  • 相关阅读:
    JSON
    Iterator
    JSP内置对象和EL内置对象
    JavaBean简介
    Java关键字final、static使用总结
    static 语句块
    修改tomcat端口号的方法
    URL和URI的区别
    java.util.vector中的vector的详细用法
    java中Long 和long的区别
  • 原文地址:https://www.cnblogs.com/feizianquan/p/9483923.html
Copyright © 2020-2023  润新知