批处理、控制流语句解析

版权声明:本文为博主原创文章,欢迎评论指教。 https://blog.csdn.net/oYuHuaChen/article/details/71403116

批处理

一、定义:

    1、包含一个或多个的T-SQL语句语句的组,从应用程序一次性的发送到SQL SERVER中执行

    2、可执行计划:SQL SERVER将批处理语句编译成一个可执行单元。执行计划中的语句每次招待一条。

    3、一个批处理以GO结束。

二、建立批处理时应遵循以下规则:

    1、所有批处理必须以CREATE语句开头。

    2、不能在同一批处理中更改表结构,再引用新添加的列。

    3、EXECUTE语句是批处理语句的第一句,则不需要加EXECUTE关键字;否则,需要添加EXECUTE关键字。

控制流语句

一、作用:程序流程控制语句主要用于控制T-SQL语句、语句块和存储过程的执行过程。

    1.1、begin-end语句块

        1.1.1、作用:将多条T-SQL语句组合在一起,组成一个逻辑块,当控制流语句必须执行一个或两个以上的T-SQL语句的语句块时使用。

        1.1.2、说明

           a、相当于很多语言中的{}。

           b、将多条语句封装成一条语句块,整个语句块等同于一条语句。

           c、常用于if..else while..中处理一条语句的不足。

    1.2、无条件转移(GOTO)

          格式:GOTO标号处

          作用:本语句将T-SQL 语句的执行顺序无条件的转移到用户指定的标号处(递归运算)

          示例:使用T-SQL语句,求10的阶乘

          DECLARE @m int=1,@n int=2
              xx: --指定标号处
              SELECT @m=@m*@n;
              SELECT @n=@n+1;
              IF(@n <=10)
                 goto xx
              else
                 select @m as '阶乘和',@n as '自增值'

             运行结果如下:

            

    1.3、判断语句(while)

    while(布尔表达式)

    begin

          语句块

    end

    a、作用:当布尔表达式为真时,会持续执行语句块,直到条件不成立时

    b、同时使用的语句有两个:break,continue

         break:执行语句时,程序无条件退出整个while循环

         continue:执行语句时,程序跳出continue后面的语句,而立即执行下一层循环

    1.4、waitfor

     a、作用:挂起执行连接,直到超过指定间隔或者达到一天中指定的时间

     b、语法格式:

           指定时间间隔:waitfor delay 指定时间间隔

           指定时间点:waitfor time 时间点

           在执行语句前等待2秒

           waitfor delay '00:00:02'

           select * from student

           指定时间点,执行语句(指定到每天2点执行)

           waitfor time '02:00:00'

           select * from student


    



猜你喜欢

转载自blog.csdn.net/oYuHuaChen/article/details/71403116