ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Referenc-PL/SQL子程序-子程序的组成

PLSQL Language Referenc-PL/SQL子程序-子程序的组成

原创 Oracle 作者: luisedalian 时间:2014-03-29 08:12:12 0 删除 编辑

子程序的组成

子程序以子程序头开始,在头部定义了名称和可选的参数列表。

声明部分  --(可选)

    主要是声明和定义局部类型、光标、常量、变量、异常和嵌套子程序

    指定编译指示

    当子程序线束执行后,这些成员不在存在

    注意:子程序的声明部分不是以DECLARE开头的

 

执行部分(必须)

    包含一个或多个赋值、控制执行、和操作数据的语句

 

异常处理部分(可选)

    处理运行时异常

 

DECLARE

    first_name employees.first_name%TYPE;

    last_name  employees.last_name%TYPE;

    email      employees.email%TYPE;

    employer   VARCHAR2(8) := 'AcmeCorp';

 

    --声明和定义过程

    PROCEDURE create_email (  -- 子程序头开始

        name1   VARCHAR2,

        name2   VARCHAR2,

        company VARCHAR2

    )                        -- 子程序头结束

    IS

                             --  声明部分开始

        error_message VARCHAR2(30) := 'Email地址过长.';

    BEGIN                    -- 执行部分开始

        email := name1 || '.' || name2 || '@' || company;

    EXCEPTION                -- 异常处理部分开始

        WHEN VALUE_ERROR THEN

            DBMS_OUTPUT.PUT_LINE(error_message);

    END create_email;

 

BEGIN

    first_name := 'John';

    last_name  := 'Doe';

 

    create_email(first_name, last_name, employer);  -- 调用

    DBMS_OUTPUT.PUT_LINE ('名字在前的Email: ' || email);

 

    create_email(last_name, first_name, employer);  -- 调用

    DBMS_OUTPUT.PUT_LINE ('姓在前的Email: ' || email);

 

    first_name := 'Elizabeth';

    last_name  := 'MacDonald';

    create_email(first_name, last_name, employer);  -- 调用

END;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1131966/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    6044094