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

  • 相关阅读:
    进入新的一线开发周期
    某框架的反人类特性
    8月最后一天随想
    jython 2.7 b3发布
    [转] 基于 Apache Mahout 构建社会化推荐引擎
    FreeBSD10上编译尝试DeepIn UI
    PDT已有很大改进
    两张图
    FreeBSD暂时用9.X系列为宜
    backbone教程
  • 原文地址:https://www.cnblogs.com/zerocc/p/3025003.html
Copyright © 2011-2022 走看看