PL/SQL结构
admin
2023-04-30 03:20:19
0

无名块:未命名的程序块

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


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

执行部分:用于实现应用模块功能,包含了要执行的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;

/




相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...