• SQL Server 流程控制


    流程控制语句:

    BEGIN ... END WAITFOR GOTO
    WHILE IF ... ELSE BREAK
    RETURN CONTINURE  

    1.BEGIN ... END

    BEGIN ... END语句用于将多个Transact-SQL语句合为一个逻辑块。当流程控制语句必须执行一个包含两条或两条以上的T-SQL语句的语句块时,使用BEGIN ... END语句。

    1   BEGIN
    2   {sql_statement ... }
    3   END

    2.IF

    1 IF<条件表达式>
    2  {命令行 | 程序块}

    IF...ELSE

    1   IF <条件表达式>
    2     {命令行1 | 程序块1}
    3   ELSE
    4     {命令行2 | 程序块2}

    代码:

    1   declare @x int
    2   set @x=4
    3   if @x%2=0
    4   print '@x 是偶数'
    5   else
    6   print '@x 是奇数'

    效果图:

    3.CASE

    1 CASE input_expression
    2     WHEN when_expression THEN result_expression
    3     [... n]
    4     
    5     ELSE else_result_expression
    6 
    7     END

    代码:

    1   use Practice
    2   go
    3   select *,备注=case
    4   when Sex='girl' then ''
    5   when Sex='boy'  then ''
    6   else '不识别'
    7   end
    8   from Info_Stu

    效果:

    4.WHILE

    代码:

    1   DECLARE @n int,@sum int
    2   set @n=1
    3   set @sum=0
    4   while @n<=10
    5   begin
    6   set @sum=@sum+@n
    7   set @n=@n+1
    8   end
    9   print @sum

    效果:

    5.WHILE...CONTINUE...BREAK

    代码:

     1 set @sum=0
     2 while @x<10
     3 begin
     4 set @x=@x+1
     5 if @x%2=0
     6   begin
     7    set @sum=@sum+@x
     8   end
     9 else
    10 continue 
    11 end
    12 print @sum

    效果:

    6.RETURN

    RETURN语句用于查询或过程中无条件退出。RETURN语句可在任何时候用于从过程、批处理或语句块中退出,位于RETURN之后的语句不会被执行。

    代码:

    1 DECLARE @X INT   
    2 set @x=3
    3 if @x>0
    4 print'遇到return之前'  
    5 return
    6 print'遇到return之后'

    效果:

    7.GOTO

    GOTO命令用来改变程序执行的流程,使程序跳转到标识符指定的程序行再继续往下执行。

    语法格式如下:

    GOTO 标识符

    标识符需要在其名称后加上一个冒号“:”。例如,“33:”,“loving:”

    1 declare @x int
    2 select @x=1
    3 loving:
    4     print @x
    5     select @x=@x+1
    6 while @x<=3 goto loving

    效果:

    8.WAITFOR

    WAITFOR指定触发器、存储过程或事务执行的时间、时间间隔或事件;还可以用来暂时停止程序的执行,直到所设定的等待时间已过才继续往下执行。

    语法格式如下:

    WAITFOR {delay<'时间'> | TIME<'时间'>

    其中,“时间”必须为DATETIME类型的数据,如 11:15:27,但不能包括日期

    delay:表示延时;

    time:表示定时。

    代码:

    1 waitfor delay '00:00:05'
    2 print '祝你生日快乐!'

    效果:

    菜鸟一枚,但有一颗不断进取的心; 兴趣所至,相信自己终会成功!!!!! 加油,imstrive
  • 相关阅读:
    Windows API的CreateFile()中的OPEN_ALWAYS和CREATE_ALWAYS之间的差异
    Linux下的虚拟串口对(可用于在本机上模拟串口进行调试)
    [转&精]IO_STACK_LOCATION与IRP的一点笔记
    【转】在WIN7、WIN10操作系统用WebDAV映射网络驱动器需要的操作
    Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information
    分布式处理大数据的目录及学习树
    利用docker将传统企业集中式架构转换为微服务架构的实践经验
    docker学习笔记5 端口映射与容器互联
    docker学习笔记4 数据管理、持久化
    docker学习笔记3 容器 container
  • 原文地址:https://www.cnblogs.com/imstrive/p/4779012.html
Copyright © 2020-2023  润新知