• SQL SERVER 中 GO 的用法2


    具体不废话了,请看下文详解。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    use db_CSharp
    go
     select *,
     备注=case
     when Grade>=90 then '成绩优秀'
     when Grade<90 and Grade>=80 then '成绩良好'
     when Grade<80 and Grade>=70 then '成绩及格'
     else '不及格'
     end
     from tb_Grade

    如果只是执行一条语句,有没有GO都一样

    如果多条语句之间用GO分隔开就不一样了

    每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行。

    例如:

    首先同时执行下边的语句

    1
    2
    select * from sysobjects where id=a
    select getdate()

    你会发现会报错,并且不会显示任何结果集

    而你再执行

    1
    2
    3
    4
    select * from sysobjects where id=a
    go
    select getdate()
    go

    你会发现尽管同样会报错,但结果集中包含select getdate()的结果。

    ps:SQL SERVER 中 GO 的用法

    用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。
    GO 不是 Transact-SQL 语句;而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。

    如果你的SQL过长的时候,就要写GO,或者有一些语句,它只能是第一句操作的,在之前你也得写 GO ,GO的意思 是 分批处理语句 有加这个 GO ,就执行GO 行的代码,执行后再执行接下来的代码……

    像这样的情况下就要用到GO ,分批处理数据……

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    use master
    go
     
    if exists (select * from sysdatabases where name = 'kejianDB')
    drop database kejianDB
    go
     
    create database kejianDB
    go
     
    use kejianDB
    go
     
     
    --(行业表)
    create table Trade
    (
    tra_Id int primary key identity(1,1) not null, --行业ID (主键、自增长)
    tra_Name varchar(50) not null --行业名称
    )
    go
  • 相关阅读:
    深度学习训练模型时保存Log输出信息为文件
    Docker 测试场景领域应用剖析
    kafka性能测试
    [标点符] 初学机器学习算法之LightGBM (直方图+单边梯度采样优化+互斥特征绑定优化)
    【12月DW打卡】joyful-pandas
    【12月DW打卡】joyful-pandas
    【12月DW打卡】joyful-pandas
    【12月DW打卡】joyful-pandas
    【12月DW打卡】joyful-pandas
    Linux安装Redis
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/5326798.html
Copyright © 2020-2023  润新知