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

  • 相关阅读:
    代码模板
    DNSget Ip
    WC约束示使用
    下雨了
    Xml文件保存值不能及时更新
    代码不是艺术,而是达到目的的一种手段
    网站TCP链接暴增
    吐个槽吧
    正则表达式使用小注意
    Sereja and Two Sequences CodeForces
  • 原文地址:https://www.cnblogs.com/zerocc/p/3025003.html
Copyright © 2011-2022 走看看