首页 > 软件开发 > 数据库 >

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

来源:互联网 2023-03-16 23:56:33 版权归原作者所有,如有侵权,请联系我们

软件开发人员经常使用Mysql的都会简单使用,但是在Oracle中如何实现呢?跟我走,带你一起实现oracle表存在先删除后创建pMv办公区 - 实用经验教程分享!

工具/原料

  • oracle 11g R2

方法/步骤

  • 1

    在讲Oralce前,我们先看一下Mysql的实现方式:pMv办公区 - 实用经验教程分享!

    drop table if exists suspects;pMv办公区 - 实用经验教程分享!

    oracle中如何表存在先删除后创建pMv办公区 - 实用经验教程分享!

  • 2

    Mysql自带表存在则删除功能,而Oracle是不带这种功能的,所以需要我们自己通过其他方式来实现pMv办公区 - 实用经验教程分享!

  • 3

    第一步:创建存储过程(procedure),语句如下:pMv办公区 - 实用经验教程分享!

    -- 建立存储过程,如果表存在则删除pMv办公区 - 实用经验教程分享!

    create or replace procedure proc_dropifexists(pMv办公区 - 实用经验教程分享!

    p_table in varchar2pMv办公区 - 实用经验教程分享!

    ) ispMv办公区 - 实用经验教程分享!

    v_count number(10);pMv办公区 - 实用经验教程分享!

    beginpMv办公区 - 实用经验教程分享!

    select count(*)pMv办公区 - 实用经验教程分享!

    into v_countpMv办公区 - 实用经验教程分享!

    from user_tablespMv办公区 - 实用经验教程分享!

    where table_name = upper(p_table);pMv办公区 - 实用经验教程分享!

    if v_count > 0 thenpMv办公区 - 实用经验教程分享!

    execute immediate 'drop table ' || p_table ||' purge';pMv办公区 - 实用经验教程分享!

    end if;pMv办公区 - 实用经验教程分享!

    end proc_dropifexists;pMv办公区 - 实用经验教程分享!

    oracle中如何表存在先删除后创建pMv办公区 - 实用经验教程分享!

  • 3相关内容非法爬取自百度经验
  • 4

    创建完存储过程后,我们就可以进行调用了,调用方法如下:pMv办公区 - 实用经验教程分享!

    CALL proc_dropifexists('SCS_ASSET_CATEGORYSET');pMv办公区 - 实用经验教程分享!

    其中CALL 是关键字,proc_dropifexists 存储过程名称,SCS_ASSET_CATEGORYSET是表名称pMv办公区 - 实用经验教程分享!

    oracle中如何表存在先删除后创建pMv办公区 - 实用经验教程分享!

  • 5

    通过call调用后即可实现oracle中的先判断表是否存在,存在则删除后创建,赶快体验一下吧,超级酸爽pMv办公区 - 实用经验教程分享!

  • 注意事项

    • 在使用此方法时,需要理解存储过程的调用和建立方法
    • 此教程在oracle 11g R2基础上实现的

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!pMv办公区 - 实用经验教程分享!


    标签: oracle数据库

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号