zoukankan      html  css  js  c++  java
  • SQL SERVER中的流程控制语句


     流程控制语句


     是指用来控制程序运行和流程分至点额命令。一般指的是逻辑计算部分的控制。


    1.Begin End语句


    封装了多个T-SQL语句组合,将他们组成一个单元来处理。

    一般在条件查询或者循环等控制流程语句中,要查询满足特定条件的操作时会用到。Begin……end能够嵌套使用。


    语法例如以下:

    begin
    --<sql语句或程序块>
    end 


    样例

    begin
    --<sql语句或程序块>
    select * from StudentInfo 
    update StudentInfo set money =50
    end 
    

    2.推断语句


    当满足某种特定条件的时候才运行的语句,通常就是我们所说的 If……else语句。通过做出推断。选择运行某条语句或语句块


    语法例如以下:

    if<条件表达式>
    	--<sql语句或程序块>
    else<条件表达式>
        -- <sql语句或程序块>
    


    样例

    --declare 是声明的意思
    	declare @money int
    	select @money=money from StudentInfo where stuid ='01'
    	if @money >20
    	print '钱太多了'
    	else
    	print '钱太少了'

    当中<条件表达式>能够是各种表达式的组合。可是必须是true或者falseElse是可选的,最简单的if语句没有else部分


    3.检測语句


    If……exists语句时用来检測数据是否存在,当然了我们也能够通过检測匹配行count(*)来实现,可是没有if……exists效果好。由于假设仅仅要找到第一条匹配的数据的话。server就会停止检測


    语法规则

    if [not]exists (select 查询语句)
    	<命令行或语句块>
    	else <条件表达式>
    	<命令行或语句块>

    样例 

    --检查学号为01的学生是否存在
    	if exists (select * from StudentInfo where stuid='01')
    	print '这个学生存在'
    	else
    	print '这个学生不存在'


    4.多分支推断语句


    Case……when结构提供比if……else结构很多其它的选择和推断机会。假设学习过编程语言的同学来说。我们应该见过这样的结构的语句。使用它能够非常方便的实现多分支推断,从而避免if……else的语句嵌套使用。

    语法规则有两种


    规则一

    case<算术表达式>
    		when<算术表达式>then<运算符>
    		when<算术表达式>then<运算符>
    		[else<算术表达式>]
    	end
    

    规则二

    case
    	when<算术表达式>then<运算符>
    		when<算术表达式>then<运算符>
    		[else<算术表达式>]
    	end
    

    样例

    --选择某一条件
    	select money=
    	case
    	--对该条件进行选择分支推断
    	when(money<20) then '太少了'
    	when(money>20) then '太多了'
    	else '还行吧'
    	end 
    	from StudentInfo 

     

    5.循环语句


    能够反复运行sql语句或者要运行的语句块。仅仅要指定的条件成马上可


    Break命令让程序全然跳出循环语句,结束while命令。continue是让命令继续返回运行


    语法规则

    while <条件表达式>
    begin
    <sql语句或者程序块>
    break
    continue
    <sql语句或者程序块>
    end
    

    样例

    --计算1+2+3……100的和
    
    declare @i int,@small int
    select @i=1,@small=0
    
    while @i<=100   --推断的条件
    begin
    set @small =@small +@i 
    set @i=@i+1
    continue
    end
    print '1+2+3……100的和是'
    print @small


    6.跳转语句


    使用goto语句能够改变程序的流程,让程序自己主动跳到我们要运行的程序行

    语法规则:

    Goto标识符:

    样例

    --计算1+2+3……100的和
    
    declare @i int,@small int
    select @i=1,@small=0
    
    while @i<=100   --推断的条件
    begin
    set @small =@small +@i 
    set @i=@i+1
    goto wode
    continue
    end
    print '1+2+3……100的和是'
    print @small
    
    
    wode:
    print '我跳出来了'


    小结:


    这些语句时我们在学习SQL SERVER中会常常遇到的,事实上也不难,与我们寻常学习的编程语言中的控制结构同样,仅仅只是是格式可能的略作改动。仅仅要尝试下,找几个样例练一下就可以。


     


  • 相关阅读:
    2015南阳CCPC L
    2015南阳CCPC H
    2015南阳CCPC G
    2015南阳CCPC D
    2015南阳CCPC C
    2015南阳CCPC A
    2015长春赛区总结(其实是流水账
    Codeforces Round #326 (Div. 2) D. Duff in Beach dp
    Codeforces Round #326 (Div. 2) C. Duff and Weight Lifting 水题
    Codeforces Round #326 (Div. 2) B. Duff in Love 分解质因数
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5135886.html
Copyright © 2011-2022 走看看