首页 > 数据库技术 > 详细

Oracle 删表前验证表名是否存在并且删除

时间:2016-06-28 18:27:52      阅读:252      评论:0      收藏:0      [点我收藏+]
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;

  

 

 

 

多表情况

declare 
num number; 
num1 number;
num2 number;
begin 

SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER(‘BAK_XX1‘) ;
SELECT COUNT(1) INTO num1 FROM USER_TABLES WHERE TABLE_NAME = UPPER(‘BAK_XX2‘) ;
SELECT COUNT(1) INTO num2 FROM USER_TABLES WHERE TABLE_NAME = UPPER(‘BAK_XX3‘) ;
if num=1 then 
execute immediate ‘drop table BAK_XX1‘; 
end if; 
if num1=1 then 
execute immediate ‘drop table BAK_XX2‘; 
end if; 
if num1=1 then 
execute immediate ‘drop table BAK_XX3‘;

  

Oracle 删表前验证表名是否存在并且删除

原文:http://www.cnblogs.com/wdw31210/p/5624228.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!