Oracle SQL 中的包 | 包规范 | 包主体

Oracle SQL 中具有包规范和包主体的包的简单示例。

  • 创建简单的包规范
  • 包规范声明了可供其他程序调用的内容。

    创建或替换包 simple_pkg AS

    -- 声明一个函数

    函数 say_hello (name IN VARCHAR2) 返回 VARCHAR2;

    -- Declare a procedure
    PROCEDURE show_message;

    结束简单包;

    /

  • 创建包主体
  • 包体包含规范中声明的函数和过程的实际实现。

    创建或替换包主体 simple_pkg AS

    -- 实现功能

    函数 say_hello(name IN VARCHAR2) 返回 VARCHAR2 IS

    开始

    返回'你好,'|| 名字 ||'!';

    结束说你好;

    -- Implement the procedure
    PROCEDURE show_message IS
    BEGIN
        DBMS_OUTPUT.PUT_LINE('This is a simple message from the package.');
    END show_message;

    结束简单包;

    /

  • 测试包
  • 示例 1:调用函数

    设置服务器输出开启;

    宣布

    问候 VARCHAR2(50);

    开始

    -- 调用函数

    问候 := simple_pkg.say_hello('约翰');

    DBMS_OUTPUT.PUT_LINE(问候语);

    结尾;

    /

    预期输出:

    你好,约翰!

    示例 2:调用过程

    开始

    -- 调用过程

    简单的_pkg.显示_消息;

    结尾;

    /

    预期输出:

    这是来自包裹的一条简单信息。

    解释:

  • 包装规格:
  • 充当包的“公共接口”。

    声明 say_hello 函数和 show_message 过程,可供外部访问。

  • 包装主体:
  • 实现声明的函数和过程的逻辑。

    函数 say_hello 以名称作为输入并返回个性化的问候语。

    过程 show_message 只是使用 DBMS_OUTPUT.PUT_LINE 打印静态消息。