`

orcale 判断表是否存在并删除

 
阅读更多
create or replace procedure proc_dropifexists(
p_i_tablename in varchar2 -----表名字
) is
 v_count number(10);
begin
----判断当前用户下是否有对应的表 
select count(*)
 into v_count
 from user_objects
 where object_name = upper(p_i_tablename);

 if v_count > 0 then
----如果存在则使用动态sql drop掉该表
execute immediate 'drop table ' || p_i_tablename;
 end if;
end proc_dropifexists;

----调用办法demo
--SQL> exec proc_dropifexists('T_NEW');

 

分享到:
评论

相关推荐

    Oracle删除表、字段之前判断表、字段是否存在

    若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除. DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableName'); IF num...

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

    在Oracle中若删除一个不存在的表,如 “DROP TABLE notExistTable”,则会提示: ORA-00942:表或视图不存在, 若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除. 下面是不使用存储...

    oracle批量删除数据

    - 通过`IF SQL%NOTFOUND THEN`判断是否还有满足条件的记录未被删除,如果没有则退出循环。 - 使用`COMMIT`确保每轮循环后的更改都被提交。 - 最后通过`DBMS_OUTPUT.PUT_LINE`输出删除结果。 ##### 使用示例: ``...

    Oracle查询重复数据并删除,只保留一条记录.docx

    Oracle 查询重复数据并删除,只保留一条记录 Oracle 是一种关系型数据库管理系统,广泛应用于企业级数据库管理。然而,在实际应用中,数据重复问题经常会出现,例如在资源目录在线编目的资源项子表中存在多条重发...

    ORACLE修改表空间大小

    接下来,可以查看表空间的初始分配大小、后续分配大小等参数,以判断是否需要调整。使用以下命令: ```sql SELECT INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, PCT_INCREASE FROM SYS.DBA_TABLESPACES WHERE ...

    Oracle存在修改,不存在插入记录

    接触编程以来,在数据存储方面一直用的MS SQL。Oracle这名字对我来说是如此的熟悉,但是...  我们先来说个很常见的开发案例,有一张Account表,有两个字段分别为AccountID, AccountName,其中AccountID为主键,往这个

    Oracle数据库整理表碎片

    为了确定一个表是否存在碎片问题,可以通过以下步骤来进行检查: 1. **收集表统计信息**:首先,需要确保表的统计信息是最新的。这可以通过执行`exec dbms_stats.gather_table_stats(ownname=>'SCHEMA_NAME', ...

    oracle交叉表sql

    - `DROP PROCEDURE IF EXISTS`:如果已存在名为`SP_CrossTable`的存储过程,则先删除。 - `CREATE DEFINER`:定义存储过程的所有者。 - `PROCEDURE SP_CrossTable(ygh1 varchar(100))`:创建一个名为`SP_...

    oracle数据文件被误删除后的灾难处理

    5. **恢复丢失的表空间**:如果整个表空间都被误删除,需要重新创建该表空间,并通过备份文件恢复数据。 - 命令示例:`SQL> create tablespace SCSSTZ datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SCSSTZ01....

    Oracle期末复习题(带答案)

    其中, BOOLEAN并不包含在Oracle数据库支持的数据类型列表中。 Oracle数据库的物理结构包括三种文件类型:数据文件、日志文件和控制文件。数据文件存储表空间中的数据,日志文件记录数据库的更改操作用于数据库恢复...

    oracle中如何删除重复的数据

    要将去重后的数据导入新表,可以创建一个临时表,将去重后的数据插入,然后删除原表并从临时表导入数据: ```sql CREATE TABLE 临时表 AS (SELECT DISTINCT * FROM 表名); DROP TABLE 正式表; INSERT INTO 正式表 ...

    Oracle字符相似度函数

    Oracle字符相似度函数是Oracle数据库系统提供的一种功能,用于评估两个字符串之间的相似性。这个功能在数据清洗、信息检索、文本分析等领域具有广泛的应用。在SQL查询中,我们可以直接使用这些函数来比较不同字符串...

    oracle和db2的区别

    - `TRUNCATE`操作速度快,因为它直接删除表的所有数据并重置自增字段。 - **DB2**: - 使用`ALTER TABLE TableName ACTIVE NOT LOGGED INITIALLY WITH EMPTY TABLE;` - 这个操作在DB2中也能高效地清空表。 #### ...

    Oracle 游标 Oracle 游标

    例如,在删除员工记录之前,先检查该员工是否存在: ```sql CREATE OR REPLACE PROCEDURE fire_employee(p_empno IN NUMBER) AS v_ename EMP.ENAME%TYPE; BEGIN SELECT ename INTO v_ename FROM emp WHERE empno ...

    Oracle备份恢复课件

    由于这两个检查点号不一致,Oracle判断数据文件可能存在问题,需要进行介质恢复。 #### 五、介质恢复操作 - **介质恢复命令**:使用RMAN工具执行介质恢复操作。 - **RMAN命令示例**: ```sql RMAN> recover data...

    Oracle自动备份压缩

    1. **检查备份目录是否存在**:脚本会验证指定的备份目录是否存在,如果不存在,则可能输出错误信息或采取相应措施创建目录。 2. **执行Oracle数据导出**:使用Oracle数据泵命令(`exp`),以指定的用户身份连接到...

    Oracle考试复习资料试题

    7. EXISTS子句用于判断子查询返回的记录是否存在,适用于查询条件涉及其他表的情况。 8. 表连接查询包括INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接),JOIN ON用于连接...

    oracle中已killed session的处理

    - 通过查询结果判断是否为重要的后台进程。如果确认不是重要进程,则可以继续下一步操作。 - 示例查询结果显示这些进程不是重要后台进程,而是与共享服务器相关的进程或通过TNS连接的进程。 2. **操作系统级终止...

Global site tag (gtag.js) - Google Analytics