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;
相关文章
关于oracle逻辑备份exp导出指定表名时需要加括号的问题解析
Oracle 的exp、imp、expdp、impdp命令用于数据库逻辑备份与恢复,这篇文章主要介绍了oracle逻辑备份exp导出指定表名时需要加括号吗,本文给大家详细讲解,需要的朋友可以参考下2023-04-04Oracle出现ora-12154无法解析指定连接标识符的解决方法
这篇文章主要为大家详细介绍了Oracle出现ora-12154无法解析指定连接标识符的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10oracle连接ODBC sqlserver数据源的详细步骤
这篇文章主要介绍了oracle连接sqlserver数据源ODBC的详细步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-07-07解决Oracle 查询时报错ORA-00923: FROM keyword not found where
这篇文章主要介绍了解决Oracle 查询时报错ORA-00923: FROM keyword not found where expected的问题,主要给大家介绍可能发生报错的几种情况,感兴趣的朋友跟随小编一起看看吧2023-03-03
最新评论