Oracle删除表前判断表名是否存在若存在则删除

时间:2021-11-26 07:30:57

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>