create or replace function Func_Is_Exists_Table
(
i_table_name in varchar2
)
return number
is
o_result number;
begin
declare
num number;
begin
select count(1) into num
from user_tables
where table_name = upper(i_table_name)
or table_name = lower(i_table_name);
if num > 0 then
o_result := 1;
end if;
if num <= 0 then
o_result := 0;
end if;
end;
return o_result;
end Func_Is_Exists_Table;
/
CREATE OR REPLACE PROCEDURE Proc_Check_Exist_Table
(
i_table_name IN VARCHAR2
)
AS
BEGIN
BEGIN
IF Func_Is_Exists_Table(i_table_name) > 0 THEN
dbms_output.put_line('Table-->> ' || upper(i_table_name) || ' <<--exists');
execute immediate 'drop table ' || i_table_name;
ELSE
dbms_output.put_line('Table-->> ' || upper(i_table_name) || ' <<--not exists');
END IF;
END;
END Proc_
Oracle之 在创建Table之前先判断是否存在,存在就删除
最新推荐文章于 2022-07-05 16:53:05 发布
本文展示了如何在Oracle中创建一个函数和过程,用于检查表是否存在。如果存在,该过程会删除该表。内容包括定义Func_Is_Exists_Table函数来检查表是否存在,以及Proc_Check_Exist_Table过程来执行删除操作。最后,通过示例演示了如何直接使用SQL语句进行表的存在性检查和删除。
摘要由CSDN通过智能技术生成