数据库基础(基于达梦DM8)课件:掌握DMSQL程序中的控制结构.pptx
数据库基础(基于达梦DM8)
数据库程序设计
6.6掌握DMSQL程序中的控制结构0203循环控制结构分支结构04顺序结构01语句块05其他语句
6.6.1语句块语句块是DMSQL程序的基本单元。每个语句块由关键字DECLARE、BEGIN、EXCEPTION和END划分为声明部分、执行部分和异常处理部分。其中执行部分是必需的,说明和异常处理部分可以省略。语句块可以嵌套,它可以出现在任何其他语句可以出现的位置。[DECLARE变量说明{,变量说明};]BEGIN执行部分[异常处理部分]END
6.6.2分支结构分支结构先执行一个判断条件,根据判断条件的执行结果执行对应的一系列语句。IF语句CASE语句SWITCH语句分支结构
6.6.2分支结构-IF语句IF语句控制执行基于布尔条件的语句序列,以实现条件分支控制结构。IF条件表达式THEN执行部分;[ELSEIF_OR_ELSIF条件表达式THEN执行部分;{ELSEIF__OR_ELSIF条件表达式THEN执行部分;}][ELSE执行部分;]ENDIF;ELSEIF_OR_ELSIF::=ELSEIF|ELSIF
6.6.2分支结构-IF语句IF条件THEN代码ENDIF;
IF条件THEN代码1ELSE
代码2ENDIF;
IF条件1THEN代码1ELSEIF条件2THEN
代码2…ELSE
代码NENDIF
6.6.2分支结构-CASE语句CASE语句从系列条件中进行选择,并且执行相应的语句块,主要有下面两种形式:(1)简单形式:将一个表达式与多个值进行比较,语法如下:CASE条件表达式WHEN条件THEN执行部分;{WHEN条件THEN执行部分;}[ELSE执行部分]END[CASE];
(2)搜索形式:对多个条件进行计算,取第一个结果为真的条件,语法如下。CASEWHEN条件表达式THEN执行部分;{WHEN条件表达式THEN执行部分;}[ELSE执行部分]END[CASE];
6.6.2分支结构-SWITCH语句DMSQL程序支持C语法风格的SWITCH分支结构语句,SWITCH语句的功能与简单形式的CASE语句类似,用于将一个表达式与多个值进行比较,并执行相应的语句块,语法如下:SWITCH(条件表达式){CASE常量表达式:执行部分;BREAK;{CASE常量表达式:执行部分;BREAK;}[DEFAULT:执行部分;]}
6.6.3循环控制结构FORALL语句REPEAT语句FOR语句WHILE语环控制结构LOOP语句01
6.6.3循环控制结构-LOOP语句LOOP语句是基本类型的循环语句,LOOP语句循环重复执行一系列语句,直到EXIT语句终止循环为止。LOOP执行部分;ENDLOOP[标号名];
LOOP语句实现对一语句系列的重复执行,是循环语句的最简单形式。LOOP和ENDLOOP之间的执行部分将无限次地执行,必须借助EXIT、GOTO或RAISE语句来跳出循环。
6.6.3循环控制结构-WHILE语句WHILE条件表达式LOOP执行部分;ENDLOOP[标号名];WHILE语句是基本类型的循环语句,WHILE语句循环检测一个条件表达式,当表达式的值为TRUE时就执行循环体的语句序列。WHILE循环语句在每次循环开始之前,先计算条件表达式,若该条件为TRUE,执行部分被执行一次,然后控制重新回到循环顶部。若条件表达式的值为FALSE,则结束循环。当然,也可以通过EXIT语句来终止循环。
6.6.3循环控制结构-FOR语句FOR语句是基本类型的循环语句,FOR语句对一系列的语句重复执行指定次数的循环。FOR循环计数器IN[REVERSE]下限表达式...上限表达式LOOP执行部分;ENDLOOP[标号名];
循环计数器是一个标识符,它类似于一个变量,但是不能被赋值,且作用域限于FOR语句内部。下限表达式和上限表达式用来确定循环的范围,它们的类型必须和整型兼容。循环次数是在循环开始之前确定的,即使在循环过程中下限表达式或上限表达式的值发生了改变,也不会引起循环次数的变化。
6.6.3循环控制结构-REPEAT语句REPEAT语句是基本类型的循环语句,REPEAT语句重复执行一系列语句直至达到条件表达式的限制要求。REPEAT执行部分;UNTIL条件表达式;
REPEAT语句先执行执行部分,然后判断条件表达式,若为TRUE则控制重新回到循环顶