Oracle的package包主要用于组织归类相关的函数及存储过程,包的创建包括两分部:包的定义、包体的定义。
包的定义主要包括包名和包内函数、存储过程的声明,相当于API接口定义;
包体主要是包内各函数和存储过程的实现;
创建包体前必须先创建包。
包的定义:
CREATE OR REPLACE PACKAGE vastcm_utils IS
FUNCTION is_table_exists( table_name_to_check VARCHAR2) RETURN BOOLEAN;
END;
包体的定义:
CREATE OR REPLACE PACKAGE BODY vastcm_utils IS
FUNCTION is_table_exists( table_name_to_check VARCHAR2)
RETURN BOOLEAN IS
row_count NUMBER;
is_exists BOOLEAN;
BEGIN
SELECT count(*) INTO row_count
FROM dual
WHERE EXISTS
( SELECT * FROM user_tables WHERE table_name = upper(table_name_to_check) );
IF row_count = 0 THEN
is_exists := FALSE;
ELSE
is_exists := TRUE;
END IF;
RETURN is_exists;
END;
END;
包内函数的调用:
BEGIN
IF vastcm_utils.is_table_exists('t_pm_user') THEN
DBMS_OUTPUT.PUT_LINE('exists.');
ELSE
DBMS_OUTPUT.PUT_LINE('not exists.');
END IF;
END;
本文介绍了Oracle中如何创建和使用包。包分为两部分:包的定义和包体的定义。包的定义主要包含包名及函数、存储过程的声明,而包体则实现了这些函数和存储过程。通过示例展示了如何创建一个检查表是否存在并返回布尔值的函数。
424

被折叠的 条评论
为什么被折叠?



