Oracle删除表前判断表名是否存在若存在则删除
程序员文章站
2022-10-13 20:38:25
在oracle中若删除一个不存在的表,如 "drop table notexisttable",则会提示: ora-00942:表或视图不存在, 若使用程序执行该语句则会报...
在oracle中若删除一个不存在的表,如 "drop table notexisttable",则会提示:
ora-00942:表或视图不存在,
若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除.
下面是不使用存储过程实现删除表的sql:
<span style="font-family:times new roman;font-size:18px;">declare num number;
begin
select count(1) into num from user_tables where table_name = upper('tablename') ;
if num > 0 then
execute immediate 'drop table tablename' ;
end if;
end;</span>
ora-00942:表或视图不存在,
若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除.
下面是不使用存储过程实现删除表的sql:
复制代码 代码如下:
<span style="font-family:times new roman;font-size:18px;">declare num number;
begin
select count(1) into num from user_tables where table_name = upper('tablename') ;
if num > 0 then
execute immediate 'drop table tablename' ;
end if;
end;</span>