--------------------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/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。