45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:如何在Oracle中判断删除表是否存在?

如何在Oracle中判断删除表是否存在?

2016-08-16 09:28:24 来源:www.45fan.com 【

如何在Oracle中判断删除表是否存在?

在Oracle中若删除一个不存在的表,如 “DROP TABLE tableName”,则会提示:

ORA-00942:表或视图不存在

若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除.

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;

在Oracle中若删除表中一个不存在的字段,如 “alter table test drop column xxx”,则会提示:

ORA-00904:”xxx”:标识符无效

若在程序中执行该语句则会报异常,这就需要我们在删除字段前先判断该字段是否存在,若存在则删除.

DECLARE
num NUMBER;
BEGIN
SELECT COUNT(1)
INTO num
from cols
where table_name = upper('tableName')
and column_name = upper('columnName');
IF num > 0 THEN
execute immediate 'alter table tableName drop column columnName';
END IF;
END;

本文地址:http://www.45fan.com/a/question/63572.html
Tags: oracle 之前 字段
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部