网站大量收购独家精品文档,联系QQ:2885784924

第19章 PLSQL中的控制结构.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第19章 PLSQL中的控制结构

第19章 PL/SQL中的控制结构 同其他的高级语言(例如,C、Java等)一样,PL/SQL也可以使用各种控制结构对PL/SQL的语句块进行控制。PL/SQL中的控制结构包括分支结构、循环结构和顺序结构。本章就来介绍PL/SQL中的这几种控制结构的使用方法。 分支控制结构; 循环控制结构; 顺序控制结构。 19.1 分支控制 分支控制语句是通过判断条件表达式是TRUE或者FALSE来决定程序的执行。PL/SQL中分支控制语句包括IF语句和多分支的选择的CASE语句。IF语句有可以分为简单条件语句IF-THEN、二重条件分支语句IF-THEN-ELSE和多重条件分支语句IF-THEN-ELSEIF。这一节就来介绍PL/SQL中的IF语句的用法。多分支的选择的CASE语句将在19.2节中介绍。 19.1.1 IF-THEN简单条件语句 简单条件语句IF-THEN主要是用来对某一个单一条件进行判断。在使用IF-THEN简单条件语句时,如果满足IF中的指定条件,则会执行THEN语句后面的操作;如果不满足IF中的指定条件,则会退出分支条件语句。简单条件语句IF-THEN的语法规则如下: IF expression THEN statement; END IF; 在这个IF-THEN的条件语句中,expression是逻辑表达式或者关系表达式。如果expression的值为TRUE就会执行THEN后面的statement语句,否则的话,就会退出IF-THEN分支条件语句。关键字END IF是IF语句结束的标志。 19.1.1 IF-THEN简单条件语句 下面来看一个使用IF-THEN简单条件语句的例子。现在要查询教师信息表中教师编号为t156354的工资,如果该名教师的工资小于3000,那么就将该名教师的工资在原有的基础上加上300;如果工资大于3000,就将该名教师的工资在原有的基础上加上100。 19.1.1 IF-THEN简单条件语句 DECLARE v_salary NUMBER(6,2); -- 教师工资 v_ teaID VARCHAR2(15) := t156354; BEGIN /*查询指定教师编号的教师工资*/ SELECT salary INTO v_salary FROM t_teacher WHERE teaID= v_ teaID; /*判断教师工资,如果小于3000则执行更新操作*/ IF v_salary 3000 THEN UPDATE t_teacher SET salary = v_salary+300 -- 修改教师工资 WHERE teaID =v_ teaID; /*判断教师工资,如果大于3000则执行更新操作*/ IF v_salary 3000 THEN UPDATE t_teacher SET salary = v_salary+100 -- 修改教师工资 WHERE teaID =v_ teaID; END IF; END; 19.1.2 IF-THEN-ELSE条件分支语句 IF-THEN-ELSE条件分支语句可以根据条件判断来选择不同的操作。在使用IF-THEN-ELSE条件分支语句时,如果满足IF中的指定条件,则会执行THEN语句后面的操作;如果不满足IF中的指定条件,则会执行ELSE后面的操作。其语法规则如下: IF expression THEN statement1; ELSE statement2; END IF; 19.1.2 IF-THEN-ELSE条件分支语句 DECLARE TYPE char_table_type IS TABLE OF VARCHAR2(1) char_tab1 char_table_type; -- 没有初始化嵌套表 char_tab2 char_table_type:= char_table_type() ; -- 初始化嵌套表 char_tab3 char_table_type:= char_table_type(‘a’,’b’,’c’) ; -- 初始化嵌套表 BEGIN /*判断嵌套表char_tab1是否为NULL*/ IF char_tab1 IS NULL THEN DBMS_OUTPUT.PUT_LINE ( char_tab1为NULL); --显示嵌套表为NULL信息 ELSE DBMS_OUTPUT.PUT_LINE( char_tab1不为NULL); --显示嵌套表不为NULL信息 End IF; /*判断嵌套表char_tab2是否为NULL*/ IF c

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档