zoukankan      html  css  js  c++  java
  • 变量的多次使用之GO

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

    1、批处理

    USE TEST
    GO
    
    IF   OBJECT_ID('T1') IS NOT NULL
        DROP TABLE T1;
        
    CREATE TABLE T1(
    ID INT IDENTITY(1,1) PRIMARY KEY,
    TT VARCHAR(10)
    )
    
    DECLARE @VV VARCHAR(10)
    SET @VV = N'测试1'
    insert into T1(TT) values(@VV)
    GO
    SET @VV = N'测试2'
    insert into T1(TT) values(@VV)

    这个时候会有报错,提示我们有变量没有定义:

    (1 行受影响)
    消息 137,级别 15,状态 1,第 1 行
    必须声明标量变量 "@VV"。
    消息 137,级别 15,状态 2,第 2 行
    必须声明标量变量 "@VV"。

    但其实我们已经定义了的,为什么还会有这个错误呢?因为GO把上面的语句已经结束,下面是另外的一个语句的开始。

    我们可以尝试把GO注释掉,如下面所示:

    USE TEST
    GO
    
    IF   OBJECT_ID('T1') IS NOT NULL
        DROP TABLE T1;
        
    CREATE TABLE T1(
    ID INT IDENTITY(1,1) PRIMARY KEY,
    TT VARCHAR(10)
    )
    
    DECLARE @VV VARCHAR(10)
    SET @VV = N'测试1'
    insert into T1(TT) values(@VV)
    --GO
    SET @VV = N'测试2'
    insert into T1(TT) values(@VV)

    这个很显示的不会报错,并且有查询结果:

    2、对数据进行循环插入操作

    insert into T1(TT) values(200)
    GO  100

    则会对t1列插入200的数据操作100次。

    数据库环境 :SQL SERVER 2008

  • 相关阅读:
    bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊
    1691: [Usaco2007 Dec]挑剔的美食家
    CF809E Surprise me!
    「总结」狄利克雷卷积,莫比乌斯反演和杜教筛
    AT3611 Tree MST
    AT2134 Zigzag MST
    CF891C Envy
    【HNOI2018】游戏
    【HNOI2016】树
    【HNOI2016】网络
  • 原文地址:https://www.cnblogs.com/zerocc/p/3025003.html
Copyright © 2011-2022 走看看