包体的创建使用 CREATE PACKAGE BODY 语句,包体的修改使用 REPLACE PACKAGE BODY 语句, 通常这两个语句可以用 OR 连在一起写。 包体的创建和修改语法格式如下:

    1. CREATE OR REPLACE PACKAGE package_name AS
    2. declare_phrase
    3. END;

    示例:创建和修改一个包体

    1. delimiter /
    2. CREATE OR REPLACE PACKAGE BODY pkg_test as
    3. PROCEDURE sp_insert_t1( p_name varchar2 )
    4. AS
    5. BEGIN
    6. INSERT INTO t1(id, name) values(seq_t1.nextval, p_name) ;
    7. COMMIT;
    8. dbms_output.put_line('Add a row which name is : ' || p_name );
    9. EXCEPTION
    10. WHEN OTHERS THEN
    11. ROLLBACK;
    12. dbms_output.put_line('Exception raised!');
    13. END;
    14. FUNCTION f_maxid_of_t1 RETURN number
    15. IS
    16. i_id number := -1;
    17. BEGIN
    18. SELECT max(id) INTO i_id FROM t1 ;
    19. RETURN i_id;
    20. EXCEPTION
    21. WHEN OTHERS THEN
    22. RETURN NULL;
    23. END;
    24. END;
    25. /
    26. delimiter ;