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

在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>

时间: 2024-09-11 03:51:46

Oracle删除表前判断表名是否存在若存在则删除_oracle的相关文章

oracle 判断表是否存在的例子

主要是查询all_tables表的TABLE_NAME和OWNER,如果表存在,则执行execute immediate 'drop table TABLE_NAME'; --判断表是否存在,如果存在则删除 declare       num   number; begin       select count(1) into num from all_tables where TABLE_NAME = 'EMP' and OWNER='SCOTT';       if   num=1   th

sql判断表名是否存在后进行删除

在sql使用过程中,我们在删除数据库表时,需要对表是否存在进行下判断,再进行删除操作.下边就看看如何使用sql判断表是否存在: sql代码如下:  代码如下 复制代码 if exists ( select * from INFORMATION_SCHEMA.tables where table_name = 'tab') drop table tab 可见,sql判断表是否存在非常简单,这样进行判断后再删除可以避免表不存在的错误. 我们再做得更高级一些 在sqlserver中,创建表之前判断表是

java oracle-怎么在oracle用imp导入数据库前删除数据库里的表 触发器怎么写 或者java代码怎么写

问题描述 怎么在oracle用imp导入数据库前删除数据库里的表 触发器怎么写 或者java代码怎么写 // 还原 Button button_1 = new Button(composite_1, SWT.NONE); button_1.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TableItem[] tis = table.get

Oracle删除表、字段之前判断表、字段是否存在_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 EXECUT

oracle中如何判断本表有多少张表对其有外键关联

在oracle中如何判断本表有多少张表对其有外键关联?我们主要分为两步: 第一步:        //查询表的主键约束名 select * from user_constraints e where e.table_name='' -----此处输入表名 第二步:        //查询所有引用到该主键的记录 select b.table_name,b.column_name from user_constraints a inner join user_cons_columns b on a.

闪回的用途与实战(闪回表,闪回删除,闪回重名删除,闪回版本查询)

闪回可以做的操作有如下几种类型:1.当数据错误删除,并且提交时(flashback table)2.当错误删除了一张表drop table(flashback drop)3.通过闪回获取表的历史记录(flashback version query)4.当错误地执行了一个事务,并且提交了(flashback transaction query)5.将整个数据库进行恢复. 使用闪回条件:1.切换到管理员上. 假设开始登录的用户名和密码是MISPS 如果是连接远程的,连接sqlplus的方式是: sq

Oracle中如何快速删除数据字典管理的表空间

oracle|数据 我的测试环境:Hp rp7410主机,Hp-unix11.11 OS,Oracle8.1.7.4的数据库,一个有90张表大约100G的测试表空间TBS_TEST. 问题的提出:Oracle中在使用drop tablespace <tablespace_name> including contents;删除数据字典管理的表空间时存在着很大的效率问题. 测试开始: 1.使用drop tablespace <tablespace_name> including con

oracle数据库表中在没有主键的情况下如何删除重复记录

问题描述 oracle数据库表中在没有主键的情况下如何删除重复记录 数据库表没有主键,没有唯一性约束,如何删除重复记录呢?求大神解答. 解决方案 http://www.cosdiv.com/page/M0/S505/505957.htmlhttp://www.jb51.net/article/35593.htmhttp://www.newhua.com/2012/0106/141377.shtml 上面几篇文章你可以点击进去看看. 如果回答对你有帮助请采纳 解决方案二: delete from

Oracle数据库入门之多表连接与子查询

Oracle表连接 概述:SQL/Oracle使用表连接从多个表中查询数据 格式:select 字段列表 from table1,table2 where table1.column1=table2.column2; 说明:当被连接的多个表中存在同名字段时,必须在该字段前加上"table."作为前缀 如果没有限定where连接条件,否则就会出现笛卡尔集的不现实或没有实用意义的结果 举例:select empno, ename, sal, emp.deptno, dname, loc f