玖叶教程网

前端编程开发入门

SQL Server - 常用语法(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的语法一致)结束--------------

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言