温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PL/SQL结构

发布时间:2020-09-30 19:47:05 来源:网络 阅读:268 作者:yeleven 栏目:关系型数据库

无名块:未命名的程序块

命名块:指过程,函数,包和触发器


定义部分:用于定义变量,常量,游标,触发器,复合数据类型

执行部分:用于实现应用模块功能,包含了要执行的PL/SQL语句和SQL语句

异常处理部分:用于处理执行部分可能出现的运行错误

[DECLARE

...  --定义部分]

BEGIN

...  --执行部分

[EXCEPTION

...  --异常处理部分]

END;

-------------------------------------

DECLARE

    a NUMBER;

BEGIN

    a:=1+2;

    DBMS_OUTPUT.PUT_LINE('1+2='||a);

EXCEPTION

    WHEN OTHERS THEN

        DBMS_OUTPUT.PUT_LINE('出现异常')

END;

/


条件分支语句:

DECLARE

    a1 number := 100;

    a2 number := 200;

BEGIN

    IF a1>a2 THEN

        DBMS_OUTPUT.PUT_LINE('a1 is larger than a2');

    ELSIF a1=a2 THEN

        DBMS_OUTPUT.PUT_LINE('a1 is equal to a2')

    ELSE

        DBMS_OUTPUT.PUT_LINE('a1 is smaller than a2');

    ENDIF;

END;

/

------------------------------------------------------------------------------------

DECLARE

    grade CHAR(1) := 'B';

    appraisal VARCHAR2(20);

BEGIN

    appraisal :=

    CASE grade

        WHEN 'A' THEN '优'

        WHEN 'B' THEN '良'

        WHEN 'C' THEN '中'

        WHEN 'D' THEN '及格'

        WHEN 'F' THEN '不及格'

    ELSE '没有这样的等级'

    DBMS_OUTPUT.PUT_LINE('Grade'||grade||'is'||appraisal);

END;

/


循环语句:

DECLARE

    total number := 0;

    salary number := 1800;

BEGIN

    LOOP

        total := total + salary;

        EXIT WHEN total > 2500

    END LOOP;

    DBMS_OUTPUT.PUT_LINE('total salary is'||total);

END;

/

----------------------------------------------------------------------------

DECLARE

    total number := 0;

    salary number := 1800;

BEGIN

    WHILE total<2500 LOOP

        total := total + salary;

    END LOOP;

    DBMS_OUTPUT.PUT_LINE('total salary is'||total);

END;

/

---------------------------------------------------------------------------

DELARE

    I INTEGER;

BEGIN

    FOR I IN REVERSE 1..3 LOOP

        DBMS_OUTPUT.PUT_LINE(I);

    END LOOP;

END;

/




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI