美文网首页
sql的循环,判断,跳转语句

sql的循环,判断,跳转语句

作者: haidaozheng | 来源:发表于2019-05-24 20:39 被阅读0次

    流程控制语句

    1.Begin End语句

    封装了多个T-SQL语句组合,将他们组成一个单元来处理。Begin……end可以嵌套使用。

    语法如下:

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

    例子

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

    2.判断语句

    语法如下:

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

    例子:Else是可选的,最简单的if语句没有else部分

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

    3.检测语句

    If……exists语句时用来检测数据是否存在,当然了我们也可以通过检测匹配行count(*)来实现,但是没有if……exists效果好。因为如果只要找到第一条匹配的数据的话,服务器就会停止检测。

    语法规则

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

    例子

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

    4.多分支判断语句

    Case……when结构提供比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语句可以改变程序的流程,让程序自动跳到我们要执行的程序行

    例子

    --计算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的循环,判断,跳转语句

          本文链接:https://www.haomeiwen.com/subject/htonzqtx.html