BEGIN END 语句
TRANSACT…SQL 使用 BEGIN 和 END 来标记一个程序语句块的开始和结束 在其它
的语言中则可能使用括号或其它的操作符来标记程序块的开始与结束 它也经常与 IF
ELSE 和 WHILE 循环 使用 BEGIN 和 END 的例子如下
语法
BEGIN
statement1
statement2
statement3。。。
END
IF ELSE 语句
IF ELSE 是最基本的编程语句结构之一 几乎每一种编程语言都支持这种结构 而
它在用于对从数据库返回的数据进行检查是非常有用的 TRANSACT…SQL 使用IF ELSE
的例子如下
语法
if (condition)
begin
(statement block)
end
else if (condition)
begin
statement block)
end
else
begin
(statement block)
420
…………………………………………………………Page 421……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
end
注意 当所指定的条件为真时 对应的 BEGIN END 语句块就会被执行 同时
你也应该注意将每一个语句缩进一定量的空格是一种很好的编程习惯 它可以极大的提向
你的程序的易读性和由于易读性不好所导致的错误
例 19。3
本例对上例增加了对平均击中率的检查 如果选手的平均分大于。300 业主将会将他
升级 否则业主对他仍然不会留意
例 19。3 使用了 IF THEN 对所给条件进行判断 如果第一个条件为真 就会执行对
应的文本 否则就继续进行其它的判断
输入
1》 declare @team_id int; @player_name char(30); @max_avg float
2》 select @team_id = TEAM_ID from TEAMS where CITY = 〃Portland〃
3》 select @max_avg = max(AVERAGE) from BATTERS where TEAM = @team_id
4》 select @player_name = NAME from BATTERS where AVERAGE = @max_avg
5》 if (@max_avg 》 。300)
6》 begin
7》 print @player_name
8》 print 〃Give this guy a raise!〃
9》 end
10》 else
11》 begin
12》 print @player_name
13》 print 〃e back when you"re hitting better!〃
14》 end
15》 go
421
…………………………………………………………Page 422……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
例 19。4
下边的例子对数据库所进行的查询使用了 IF 语句并加入了一些逻辑语句 本例对让例
的分支进行了细化处理
输入
1》 declare @team_id int; @player_name char(30); @max_avg float
2》 select @team_id = TEAM_ID from TEAMS where CITY = 〃Portland〃
3》 select @max_avg = max(AVERAGE) from BATTERS where TEAM = @team_id
4》 select @player_name = NAME from BATTERS where AVERAGE = @max_avg
5》 if (@max_avg 》 。300)
6》 begin
7》 print @player_name
8》 print 〃Give this guy a raise!〃
9》 end
10》 else if (@max_avg 》 。275)
11》 begin
12》 print @player_name
13》 print 〃Not bad。 Here"s a bonus!〃
14》 end
15》 else
16》 begin
17》 print @player_name
18》 print 〃e back when you"re hitting better!〃
19》 end
20》 go
TRANSACT…SQL 也可以让你对 IF 所使用的条件进行检查 这一功能可以对特定的条
件值进行测试 如果测试的条件为真 那么 IF 分支就会被执行 否则的话如果有 ELSE 部
分就执行 ELSE 部分 就像你在上边的例子中看到的一样
422
…………………………………………………………Page 423……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
EXIST 条件
EXIST 命令可以确保从 SELECT 语句中返回数值 如果返回了数值 那么 IF 语句就
会被执行 例 19。5 给出了示例
例 19。5
在本例就 EXIST 关键字对 IF 的条件进行了测试 该条件是由 SELECT 语句所指定的
输入
1》 if exists (select * from TEAMS where TEAM_ID 》 5)
2》 begin
3》 print 〃IT EXISTS!!〃
4》 end
5》 else
6》 begin
7》 print 〃NO ESTA AQUI!〃
8》 end
测试查询的结果
IF 语句也可以对 SELECT 语句返回的查询结果进行测试 例 19。6 给出的这样的例子
它是对平均打点最高的选手进行测试
例 19。6
本例所 19。5 的例子类似 也是使用 SELECT 语句来定义条件 但是这一回我们使用大
于号来进行检查
输入
1》 if (select max(AVG) from BATTERS) 》 。400
2》 begin
3》 print 〃UNBELIEVABLE!!〃
4》 end
5》 else
6》 print 〃TED WILLIAMS IS GETTING LONELY!〃
423
…………………………………………………………Page 424……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
7》 end
我们推荐你在你的解释器中对 IF 语句进行试验 如果对于 BASEBALL 数据库你有多
个条件要进行测试 那么你可以像在本次的应用中那样在 IF 语句中使用查询
WHILE 循环
为 TRANSACT…SQL 所运行的另一种流行的编程结构是 WHILE 循环 该命令的语法
如下
小说推荐
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 最新章:第309章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- 电子电路大全(PDF格式)
- -Page 1-电力生产人员技能培训电路基础部分电路基础部分电电路路基基础础部部分分-Page 2-一、电路的基本概念和基本定律-Page 3-考试点1o 1、掌握电阻、独立电压源、独立电流源、11受控源、电容、电感、耦合电感、理想变压器诸元件的定义、性质2o 2、掌握电流、电压参考方向的概念223
- 最新章:第353章