包体的创建使用 CREATE PACKAGE BODY 语句,包体的修改使用 REPLACE PACKAGE BODY 语句, 通常这两个语句可以用 OR 连在一起写。 包体的创建和修改语法格式如下:
CREATE OR REPLACE PACKAGE package_name AS
declare_phrase
END;
示例:创建和修改一个包体
delimiter /
CREATE OR REPLACE PACKAGE BODY pkg_test as
PROCEDURE sp_insert_t1( p_name varchar2 )
AS
BEGIN
INSERT INTO t1(id, name) values(seq_t1.nextval, p_name) ;
COMMIT;
dbms_output.put_line('Add a row which name is : ' || p_name );
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line('Exception raised!');
END;
FUNCTION f_maxid_of_t1 RETURN number
IS
i_id number := -1;
BEGIN
SELECT max(id) INTO i_id FROM t1 ;
RETURN i_id;
EXCEPTION
WHEN OTHERS THEN
RETURN NULL;
END;
END;
/
delimiter ;