流程控制语句只能在单个批处理段,用户自定义函数和存储过程中使用
不能夸多个批处理或者用户自定义函数或者存储过程

批处理:一个或者多个语句组成的一个批处理,是因为所有语句一次性地被提交到一个sql实例,
如果想让多个语句多次提交到sql实例,则需要go关键字,可以看做是一个批处理结束的标识符,当遇到go,会把go前面的语句作为一个批处理直接传递到sql实例,所以不在一个批处理内局部变量不可见,也不可对夸批处理的语句使用流程控制语句sqlserver 有8个流程控制语句关键字:

Begin end   ,break,goto,continue,if else ,while,return,waitfor

begin end:用于将多个语句分成逻辑上的一部分
while:用于循环,还经常被用于游标中

continue:用于结束本次循环,直接开始下一次循环
break:用于结束本次循环,直接开始下一次循环
注意:当while循环嵌套时,continue和break只会作用于它们所处的while循环之内,不会对外部while循环产生作用

return:在第一个批处理内return之后的语句不会执行,但只会退出第一个批处理
第二个批处理照常执行

在存储过程中,return语句后面可以返回数字用于返回执行状态或者错误代码

waitfor:关键字允许指定语句在特定时间或是推迟特定时间执行

推迟等待的语法是: waitfor delay ‘需要等待的执行时间’
在特定时间执行的语法是: waitfor time ‘需要执行程序的精确时间’

WAITFOR DELAY '0:00:03'
BEGIN
PRINT
PRINT
END SELECT GETDATE();
WAITFOR TIME '15:56:24.233'
BEGIN
PRINT
PRINT
END
--比如 10小时后打印 当前时间
DECLARE @startTime DATETIME
WAITFOR TIME @startTime
BEGIN
PRINT GETDATE();
END

Sqlserver基于流程控制的更多相关文章

  1. 高性能JavaScript 循环语句和流程控制

    前言 上一篇探讨了达夫设备对于代码性能的影响,本文主要探讨并且测试各种常见的循环语句的性能以及流程控制中常见的优化. 循环语句 众所周知,常用的循环语句有for.while.do-while以及for ...

  2. 高性能JavaScript笔记二(算法和流程控制、快速响应用户界面、Ajax)

    循环 在javaScript中的四种循环中(for.for-in.while.do-while),只有for-in循环比其它几种明显要慢,另外三种速度区别不大 有一点需要注意的是,javascript ...

  3. Java学习笔记之:Java流程控制

    一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...

  4. 深入探析koa之中间件流程控制篇

    koa被认为是第二代web后端开发框架,相比于前代express而言,其最大的特色无疑就是解决了回调金字塔的问题,让异步的写法更加的简洁.在使用koa的过程中,其实一直比较好奇koa内部的实现机理.最 ...

  5. 【javascript】Promise/A+ 规范简单实现 异步流程控制思想

    ——基于es6:Promise/A+ 规范简单实现 异步流程控制思想  前言: nodejs强大的异步处理能力使得它在服务器端大放异彩,基于它的应用不断的增加,但是异步随之带来的嵌套.难以理解的代码让 ...

  6. Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)

    一. 视图 二. 触发器 三. 事务 四. 存储过程 五. 函数 六. 流程控制 一 .视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用 ...

  7. [转帖]流程控制:for 循环

    流程控制:for 循环 http://wiki.jikexueyuan.com/project/linux-command/chap34.html need more study need more ...

  8. mysql-视图、触发器、事务、存储过程、流程控制

    目录 视图 触发器 事务 存储过程 流程控制 一.视图 视图是由查询结果构成的一张虚拟表,和真实的表一样,带有名称的列和行数据 强调:视图是永久存储的,但是视图存储的不是数据,只是一条sql语句 视图 ...

  9. Python全栈开发之---输入输出与流程控制

    Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...

随机推荐

  1. 推荐vpn的文章

    http://wsgzao.github.io/post/fq/ 免费方案 各个平台的解决方案都不唯一,请认真阅读原文中的说明部分 百度浏览器 你这么大摇大摆提供FQ插件,真不用担心360菊(jǔ)爆 ...

  2. centos修改时区,设置时间

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...

  3. HDU5791--Two (DP)

    题意:两个数列a,b,求相同的子序列有多少对,内容相同位置不同也算不同. 题解:dp[i][j]表示a数列前i个数个 b数列前j个数 有多少对 递推方程: dp[i][j] = dp[i-1][j-1 ...

  4. 高性能mysql主主架构

    A.环境描述 服务器A(主) 192.168.0.105 服务器B(主) 192.168.0.108 Mysql版本: 5.6.21 System OS:CentOS release 6.5 主从需同 ...

  5. iOS7自定义statusbar和navigationbar的若干问题

    当然有许多问题是这篇文章中没有提到的,按照文章的方法进行设置,你可能会遇到以下问题: 1.navigationbar的背景图片自定义以后,statusbar虽然和navigationbar共用了背景图 ...

  6. Spring Data JAP 多个不是必填的查询条件处理

    简单的介绍一下使用场景,DAO层用Spring Data实现,dao 只有接口,实现类是容器启动时动态字节码生成,接口里定义方法,方法上@Query 里写JPQL查询语句. 基于以上的限制,如果对一个 ...

  7. 补丁安装命令(WUSA)

    wusa windows6.1-kb2716513-x64.msu /quiet /norestart msxml4-kb2758694-enu.exe /quiet /norestart 安装.ms ...

  8. C# 设置 窗口最大化

    Main.WindowState = FormWindowState.Maximized;

  9. centos yum安装mysql

    查看有没有安装包 # yum list mysql 安装mysql客户端 # yum install mysql # yum list mysql-server 安装mysql 服务器端 # yum ...

  10. 会话跟踪session cookie

    会话跟踪 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在 ...