流程控制语句:

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

1.BEGIN ... END

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

   BEGIN
{sql_statement ... }
END

2.IF

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

IF...ELSE

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

代码:

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

效果图:

3.CASE

 CASE input_expression
WHEN when_expression THEN result_expression
[... n] ELSE else_result_expression END

代码:

   use Practice
go
select *,备注=case
when Sex='girl' then '女'
when Sex='boy' then '男'
else '不识别'
end
from Info_Stu

效果:

4.WHILE

代码:

1   DECLARE @n int,@sum int
set @n=1
3 set @sum=0
4 while @n<=10
begin
set @sum=@sum+@n
set @n=@n+1
end
print @sum

效果:

5.WHILE...CONTINUE...BREAK

代码:

 set @sum=0
while @x<10
begin
set @x=@x+1
if @x%2=0
begin
set @sum=@sum+@x
end
else
continue
end
print @sum

效果:

6.RETURN

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

代码:

 DECLARE @X INT
set @x=3
if @x>0
print'遇到return之前'
return
print'遇到return之后'

效果:

7.GOTO

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

语法格式如下:

GOTO 标识符

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

 declare @x int
select @x=1
loving:
print @x
select @x=@x+1
while @x<=3 goto loving

效果:

8.WAITFOR

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

语法格式如下:

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

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

delay:表示延时;

time:表示定时。

代码:

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

效果:

SQL Server 流程控制的更多相关文章

  1. Sql Server 流程控制语句

    T-SQL中用来编写流程控制模块的语句有:BEGIN...AND语句.IF...ELSE语句.CASE语句.WHILE语句.GOTO语句.BREAK语句.WAITFOR语句和RETURN语句. 批处理 ...

  2. SQL Server 2005 控制用户权限访问表

    转自:http://www.cnblogs.com/gaizai/archive/2011/07/14/2106617.html 一.需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限 ...

  3. SQL Server sp_configure 控制内存使用

    背景知识: sp_configure   显示或更改当前服务器的全局配置设置(使用 sp_configure 可以显示或更改服务器级别的设置.) 查看 全局配置值 方法 1.execute sp_co ...

  4. sql server事物控制

    一.多个数据库 1.存储过程 2.Commit写在 Try...Catch后面 protected void Button1_Click(object sender, EventArgs e)    ...

  5. PL/SQL 03 流程控制

    --IF语法IF condition THEN  statements;[ELSIF condition THEN  statements;][ELSE  statements;]END IF; -- ...

  6. SQL Server 权限控制

    根据数据库Schema限制用户对数据库的操作行为 授予Shema dbo下对象的定义权限给某个用户(也就是说该用户可以修改架构dbo下所有表/视图/存储过程/函数的结构) use [Your DB N ...

  7. SQL Server Governer 控制资源的使用

    --- Create a resource pool for production processing  --- and set limits.  USE master;  GO  CREATE R ...

  8. Sql Server 内存相关计数器以及内存压力诊断

    在数据库服务器中,内存是数据库对外提供服务最重要的资源之一, 不仅仅是Sql Server,包括其他数据库,比如Oracle,MySQL等,都是一类非常喜欢内存的应用. 在Sql Server服务器中 ...

  9. 【转】T-SQL查询进阶—理解SQL Server中的锁

      简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查 ...

随机推荐

  1. Kafka——分布式消息系统

    Kafka——分布式消息系统 架构 Apache Kafka是2010年12月份开源的项目,采用scala语言编写,使用了多种效率优化机制,整体架构比较新颖(push/pull),更适合异构集群. 设 ...

  2. plsql常用函数汇总

    在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set nls_language='SIMPLI ...

  3. SVN Tree Conflict 的分析

    所谓Tree Confict,就是至少有一个人修改了目录结构,包括文件或者文件所在目录的改名.删除.移动.然后Update或Merge的时候就报了Tree Conflict. 介绍一下概念Delete ...

  4. HighCharts选项和参数详细配置查询表

    概述:作为一款出色的交互图表制作工具,HighCharts有着全面的选项.参数等配置信息.为了帮助大家进一步掌握HighCharts,今天我们为大家整理了HighCharts的所有配置信息和说明,将其 ...

  5. Java当中的内存分配以及值传递问题内存解析

    首先必须说明作为Java程序员对于内存只要有大致的了解就可以了,如果你对Java当中的某一个知识点在不需要分析内存分配过程的情况下可以掌握,那就大可不必去研究内存.如果你对知识点已经掌握,那么你应该把 ...

  6. EF-error 0152: No Entity Framework provider found...

    突然就报这个错了... ... 哈哈··· 原来是 "EntityFramework.SqlServer.dll" 没有引用··· 添加引用就好了... ... 还好不了?那就不知 ...

  7. 关于EXCEL学习的那些事

    由于在客服中心工作,虽然日常工作基本与数据打交道,但是周围的同事对EXCEL基本不怎么了解,仅会一些基本操作.所以基本日常我会被问到许多EXCEL相关的问题,也针对这个做了一些整理与思考. 之后无意看 ...

  8. PHP基础 之 数组(一)

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 【C语言入门教程】2.7 表达式

    表达式由运算符.常量及变量构成,C语言的表达式基本遵循一般代数规则.有几种运算法则是 C 语言表达式特有的. 2.7.1 表达式中的类型转换 同一表达式中的不同类型常量及变量在运算时需要变量为同一数据 ...

  10. 实体ip 虚拟ip 固定ip 动态ip

    实体 IP:在网络的世界里,为了要辨识每一部计算机的位置,因此有了计算机 IP 位址的定义.一个 IP 就好似一个门牌!例如,你要去微软的网站的话,就要去『 207.46.197.101 』这个 IP ...