• PL/SQL程序设计、流程控制


    PL/SQL是 Procedure Language & Structured Query Language 的缩写


    PL/SQL是对SQL语言存储过程语言的扩展

    PL/SQL程序由三个块组成,即声明部分执行部分异常处理部分

    在语句块的声明部分对变量声明,声明一个变量的语法是:
    variable_name [ constant ] type [ not null ] [:=value]
    其中:
    variable_name 为变量名
    type 为类型
    value 为变量的初值


    PL/SQL结构
    DECLARE
    /* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */
    BEGIN
    /* 执行部分: 过程及SQL 语句 , 即程序的主要部分 */
    EXCEPTION
    /* 执行异常部分: 错误处理 */
    END;

    PL/SQL的流程控制语句, 包括如下三类 :
    条件语句: IF 语句 CASE语句
    循环语句: LOOP语句, EXIT语句
    顺序语句: GOTO语句, NULL语句

    IF语句的基本形式为 :
    IF <布尔表达式> THEN
    PL/SQL 和 SQL语句
    END IF;

    IF <布尔表达式> THEN
    PL/SQL 和 SQL语句
    ELSE
    其它语句
    END IF;

    IF语句的复杂形式为 :
    IF <布尔表达式> THEN
    PL/SQL 和 SQL语句
    ELSIF < 其它布尔表达式> THEN
    其它语句
    ELSIF < 其它布尔表达式> THEN
    其它语句
    …… ……
    ELSE
    其它语句
    END IF;

    CASE语句的基本形式为 :
    CASE selector
    WHEN expression1 THEN result1
    WHEN expression2 THEN result2
    WHEN expressionN THEN resultN
    [ ELSE resultN+1]
    END CASE;

    循环语句
    简单循环语句的一般形式:
    LOOP
    要执行的语句;
    EXIT WHEN <条件语句> /*条件满足,退出循环语句*/
    END LOOP;
    其中:EXIT WHEN 子句是必须的,否则循环将无法停止。

    WHILE 循环语句的一般形式:
    WHILE <布尔表达式> LOOP
    要执行的语句;
    END LOOP;

    FOR循环语句的一般形式:
    FOR 循环计数器 IN [ REVERSE ] 下限 .. 上限 LOOP
    要执行的语句;
    END LOOP;
    其中:
    每循环一次,循环变量自动加1;使用关键字REVERSE,循环变量自动减1
    跟在IN REVERSE 后面的数字必须是从小到大的顺序,但不一定是整数,可以是能够转换成整数的变量或表达式
    可以使用EXIT WHEN子句退出循环

     综合实例:

     1 declare
     2 v_no number(4) :=7369;      --声明并初始化变量
     3 begin
     4 select sal into v_no from emp where empno=v_no;
     5 
     6 if v_no>300 then v_no:=100; --if--then
     7 end if;
     8 
     9 while v_no<=200             --while
    10   loop
    11     v_no := v_no+1;
    12      dbms_output.put_line(v_no);
    13   end loop;
    14 
    15 for v_no in reverse 0 .. 200--for
    16 loop                        --loop
    17   
    18  dbms_output.put_line(v_no); 
    19 
    20 end loop;
    21 end;
  • 相关阅读:
    原型设计
    案例分析
    编程作业
    《构建之法》阅读任务
    2021.3.11 准备工作随笔
    课程总结
    第十四周课程总结&实验报告(简单记事本的实现)
    第十三周课程总结
    第十二周
    第十一周课程总结
  • 原文地址:https://www.cnblogs.com/-maji/p/7202388.html
Copyright © 2020-2023  润新知