zoukankan      html  css  js  c++  java
  • SQL Server

    --------------------SQL Server2019 常用语法------------------------
    
    --------------1、Case end的用法(和Oracle的语法一致)-----------------
    select t.name, 
    'Degree' = 
    case 
        when t.score >=95 then 'A'
        when t.score >=85 then 'B'
        when t.score >=75 then 'C'
        when t.score >=60 then 'D'
        else 'D-'
    end
    from SCORES t where Catogory = 'English';
    --------------1、Case end的用法(和Oracle的语法一致)结束-------------
    
    
    -------------------2、ROW_NUM() OVER(ORDER BY)用法--------------------
    --长用于增加一个编号,用于数据库分页查询
    --over 表示按照某一列进行编号
    select 'SYSID' = ROW_NUMBER() OVER (ORDER BY SCOID),* from Scores;
    -------------------2、ROW_NUM() OVER(ORDER BY)用法结束----------------
    
    ---------------------------3、变量的声明与赋值------------------------
    --声明时直接赋值declare
    declare @num int = 10;
    print @num
    --select @num
    
    --先声明declare,再赋值set
    declare @name nvarchar(10)
    set @name ='JeremyWu'
    print @name
    --select @num
    
    --一个例子,根据分数输出等级
    --输出等级
    declare @degree nvarchar(10);
    declare @score int;
    set @score = (select avg(Score) from scores where name='Jeremy')
    if (@score >=90)
    begin
      set @degree = 'A'
    end
    else    
    begin
      set @degree = 'B'
    end;
    print @degree;
    ---------------------------3、变量的声明与赋值结束--------------------
    
    ---------------------------4、变量的常见类型--------------------------
    --局部变量,我们自己声明的变量 
    --例如:@num
    --全局变量或者叫做系统变量,系统声明的变量
    --例如:@@ERROR
    ---------------------------4、变量的常见类型结束-----------------------
    
    ---------------------------------5、事务-------------------------------
    --背景说明:Bank表中Money列右最小值限制,不能小于10
    --select * from Bank
    --开始事务
    BEGIN TRANSACTION
    --声明一个变量记录有没有错误发生
    declare @sumError int = 0;
    --执行相关操作
    update Bank set Money = Money - 1000 where BankId=2;
    --记录此时的错误数
    set @sumError = @sumError + @@ERROR;
    --执行相关操作
    update Bank set Money = Money + 1000 where BankId=3;
    --记录此时的错误数
    set @sumError = @sumError + @@ERROR;
    --判断记录的错误数
    if(@sumError <> 0)
    begin
        --失败了,回滚事务
        ROLLBACK TRANSACTION
    end 
    else
    begin
        --成功了,提交事务
        COMMIT TRANSACTION
    end;
    --打印一下消息
    print @sumError
    ---------------------------------5、事务结束---------------------------
    
    --------------6、Case end的用法(和Oracle的语法一致)------------------
    select t.name, 
    'Degree' = 
    case 
        when t.score >=95 then 'A'
        when t.score >=85 then 'B'
        when t.score >=75 then 'C'
        when t.score >=60 then 'D'
        else 'D-'
    end
    from SCORES t where Catogory = 'English';
    --------------6、Case end的用法(和Oracle的语法一致)结束--------------

      作者:Jeremy.Wu
      出处:https://www.cnblogs.com/jeremywucnblog/
      本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    201506022038_《JavaScript权威指南》(p48-58)
    201506022038_《JavaScript权威指南-判断两个数组相等》(p38-48)
    201506021641_《JavaScript权威指南》(p25-38)
    Linux平台上转换文件编码
    一台服务器上部署多个Terracotta的方法
    Subversion Backup and Restore
    How to name a slf4j logger
    基于ScheduledExecutorService的并发定时任务处理能力测试
    CodeReview of JDK Source Code
    Share Keyboard, Mouse and Clipboard between Multiple Computers
  • 原文地址:https://www.cnblogs.com/jeremywucnblog/p/12467917.html
Copyright © 2011-2022 走看看