oracle中如何表存在先删除后创建

2025-10-28 23:31:09

1、在讲Oralce前,我们先看一下Mysql的实现方式:

drop table if exists suspects;

oracle中如何表存在先删除后创建

2、Mysql自带表存在则删除功能,而Oracle是不带这种功能的,所以需要我们自己通过其他方式来实现

3、第一步:创建存储过程(procedure),语句如下:

-- 建立存储过程,如果表存在则删除

create or replace procedure proc_dropifexists(

  p_table in varchar2

) is

v_count number(10);

begin

  select count(*)

  into v_count

  from user_tables

  where table_name = upper(p_table);

if v_count > 0 then

  execute immediate 'drop table ' || p_table ||' purge';

end if;

end proc_dropifexists;

oracle中如何表存在先删除后创建

4、创建完存储过程后,我们就可以进行调用了,调用方法如下:

CALL proc_dropifexists('SCS_ASSET_CATEGORYSET');

其中CALL 是关键字,proc_dropifexists 存储过程名称,SCS_ASSET_CATEGORYSET是表名称

oracle中如何表存在先删除后创建

5、通过call调用后即可实现oracle中的先判断表是否存在,存在则删除后创建,赶快体验一下吧,超级酸爽

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢