Oracle之 在创建Table之前先判断是否存在,存在就删除

本文展示了如何在Oracle中创建一个函数和过程,用于检查表是否存在。如果存在,该过程会删除该表。内容包括定义Func_Is_Exists_Table函数来检查表是否存在,以及Proc_Check_Exist_Table过程来执行删除操作。最后,通过示例演示了如何直接使用SQL语句进行表的存在性检查和删除。
摘要由CSDN通过智能技术生成
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_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值