当前位置:首页 > 数据库 > Oracle

oracle删除已存在的表的实例

Sql代码
复制代码 代码如下:

select count(*) from user_objects where object_name=upper(p_table_name); 
select count(*) from user_tables where table_name=upper(p_table_name); 
create or replace procedure p_drop_table_if_exist_v1( 
p_table_name in varchar2 
) is 
v_count number(10); 
begin 
select count(*) 
into v_count 
from user_objects 
where object_name=upper(p_table_name); 
if v_count > 0 then 
execute immediate ‘drop table ‘ || p_table_name || ‘ purge‘; 
end if; 
exception 
when no_data_found then 
    begin 
        null; 
    end; 
end; 
/  
create or replace procedure p_drop_table_if_exist_v2( 
p_table_name in varchar2 
) is 
v_table_name varchar2(20); 
begin 
select table_name  
into v_table_name  
from user_tables  
where table_name=upper(p_table_name); 
if length(v_table_name)>0 then   
execute immediate ‘drop table ‘ || p_table_name || ‘ cascade constraints‘;  
end if; 
exception 
when no_data_found then 
    begin 
        null; 
    end; 
end; 
/  

原文:http://www.jb51.net/article/34336.htm


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!