• X Oracle drop if exists


    参考https://stackoverflow.com/questions/1799128/oracle-if-table-exists
    
    我的官方博客http://blog.alei.tech ,转载请注明。网页地址https://alei.tech/2016/08/12/%E5%9C%A8Oracle%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%AF%BB%E6%89%BE%E4%B8%80%E4%B8%AA%E5%80%BC/
    
    场景 删除表,视图等对象时,静默执行,不返回报错信息 类似dorp
    table if exists,语句可反复执行 开发人员编写sql,让实施人员执行 直接写drop table abc,如果abc表已经被删除或者不存在,返回报错信息,对于不懂sql的实施人员来说,会产生干扰
    代码示例 创建存储过程 适用于drop
    table, procedure, function, trigger, view, sequence
    create or replace procedure dropObject(ObjName varchar2,ObjType varchar2) is v_counter number := 0; begin if upper(ObjType) = 'TABLE' then select count(*) into v_counter from user_tables where table_name = upper(ObjName); if v_counter > 0 then execute immediate 'drop table ' || ObjName || ' cascade constraints'; end if; end if; if upper(ObjType) = 'PROCEDURE' then select count(*) into v_counter from User_Objects where object_type = 'PROCEDURE' and OBJECT_NAME = upper(ObjName); if v_counter > 0 then execute immediate 'DROP PROCEDURE ' || ObjName; end if; end if; if upper(ObjType) = 'FUNCTION' then select count(*) into v_counter from User_Objects where object_type = 'FUNCTION' and OBJECT_NAME = upper(ObjName); if v_counter > 0 then execute immediate 'DROP FUNCTION ' || ObjName; end if; end if; if upper(ObjType) = 'TRIGGER' then select count(*) into v_counter from User_Triggers where TRIGGER_NAME = upper(ObjName); if v_counter > 0 then execute immediate 'DROP TRIGGER ' || ObjName; end if; end if; if upper(ObjType) = 'VIEW' then select count(*) into v_counter from User_Views where VIEW_NAME = upper(ObjName); if v_counter > 0 then execute immediate 'DROP VIEW ' || ObjName; end if; end if; if upper(ObjType) = 'SEQUENCE' then select count(*) into v_counter from user_sequences where sequence_name = upper(ObjName); if v_counter > 0 then execute immediate 'DROP SEQUENCE ' || ObjName; end if; end if; end;
    使用存储过程 创建temp_table表之前,判断,
    if exists then drop

    此语句示例在pl/sql developer中执行 ”/”必须在行首,之前不能有空格 begin dropObject('temp_table','table'); end; / create table ———————————————— 版权声明:本文为CSDN博主「lemon_shenzhen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/lemon_shenzhen/article/details/79022882
  • 相关阅读:
    第五周课堂测试补充
    20162327WJH2016-2017-2《程序设计与数据结构》课程总结
    20162327WJH实验五——数据结构综合应用
    20162327WJH实验四——图的实现与应用
    20162327 《程序设计与数据结构》第十一周学习总结
    20162327WJH第三次实验——查找与排序2
    20162327 《程序设计与数据结构》第九周学习总结
    20162327WJH第二次实验——树
    20162327 《程序设计与数据结构》第七周学习总结
    20162327WJH使用队列:模拟票务站台代码分析
  • 原文地址:https://www.cnblogs.com/chendian0/p/14637698.html
Copyright © 2020-2023  润新知