Oracle判断表是否存在的函数
函数定义:
CREATE OR REPLACE 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;
函数调用:
BEGIN
IF is_table_exists('table_name') THEN
DBMS_OUTPUT.PUT_LINE('exists.');
ELSE
DBMS_OUTPUT.PUT_LINE('not exists.');
END IF;
END;