`
wangxizhao
  • 浏览: 32091 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle drop table 之前的if exists判断

阅读更多

   oracle语法中没有mysql语法中的drop table  table_name if exists 这种形式,但是我们可以曲线救国,使用orale的存储过程实现同样的效果,下面给出具体做法:

create or replace procedure proc_dropifexists(
    p_table in varchar2
) is
    v_count number(10);
begin
   select count(*)
   into v_count
   from user_objects
   where object_name = upper(p_table);
   if v_count > 0 then
      execute immediate 'drop table ' || p_table ||' cascade constraints';
   end if;
end;
/
--调用
exec proc_dropifexists('mytable'); ......

分享到:
评论

相关推荐

    oracle数据库学习笔记总结

    MySQL的: drop table if exists 表名; SQL Server的: IF EXISTS (SELECT name FROM sysobjects WHERE name = '表名' AND type = 'U') DROP TABLE 表名; Oracle的: create or replace table 表名 ...; -- 直接写...

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

    在Oracle中若删除一个不存在的表,如 “DROP TABLE tableName”,则会提示: ORA-00942:表或视图不存在 若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除. DECLARE num NUMBER;...

    oracle-use.rar_Oracle drop use_oracle

    "oracle-use.rar_Oracle drop use_oracle"这个压缩包包含了与Oracle数据库使用相关的多个文档,包括查询、操作、PL/SQL语法、数据导入导出、连接配置以及备份恢复等方面的知识。 首先,我们来关注"插入数据"这一...

    DROP TABLE在不同数据库中的写法整理

    Oracle数据库系统中,`DROP TABLE`命令没有`IF EXISTS`选项。这意味着如果你尝试删除一个不存在的表,将会引发一个错误。为了避免这个错误,你需要使用PL/SQL的异常处理。下面的代码块展示了如何在Oracle中安全地...

    初识MySQL的入门笔记

    删除数据表的命令是`DROP TABLE`,如果想确保表存在才删除,可以使用`DROP TABLE IF EXISTS`。例如,删除名为demo01的表可以写为`DROP TABLE IF EXISTS demo01;`。 总的来说,MySQL的学习涵盖了数据库的基本概念、...

    在MySQL中创建实现自增的序列(Sequence)的教程

    项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况...DROP TABLE IF EXISTS sequence; CREATE TABLE sequence ( name VARCHAR(50) NOT NULL,

    oracle到sqlserver存储过程语法转换

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.function_name') AND type in (N'FN', N'IF', N'TF')) DROP FUNCTION dbo.function_name; GO CREATE FUNCTION dbo.function_name (@p...

    数据库(Oracle+SQL) 学习笔记

    DROP TABLE IF EXISTS table_name; CREATE TABLE table_name (column_definition,...); ``` - **SQL Server**: ```sql IF EXISTS (SELECT name FROM sysobjects WHERE name = 'table_name' AND type = 'U') ...

    Oracle考试复习资料试题

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

    oracle中not exists对外层查询的影响详解

    前言 最近同事发现了一个问题,在12c中跑的buffer get很高,但是在10g中跑的buffer很低。...drop table t1; drop table t2; create table t1 (id number,name varchar2(20),dep_id varchar2(10)); create table t

    mysql生成oracle序列

    DROP TABLE IF EXISTS `sequence`; CREATE TABLE `sequence` ( `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_croatian_ci NOT NULL, `current_value` int(11) NOT NULL, `increment` int(11) NOT NULL ...

    最新全国行政区划编码 sql(3级,2016-08-09 统计局发布)

    DROP TABLE IF EXISTS `sys_area`; CREATE TABLE `sys_area` ( `code` varchar(20) NOT NULL default '' COMMENT '行政区划编码', `parent_code` varchar(20) default NULL COMMENT '父级行政区划编码', `name` ...

    java_oracle

    DELETE FROM table_name t1 WHERE EXISTS (SELECT 1 FROM table_name t2 WHERE t1.column_name = t2.column_name AND t1.ROWID > t2.ROWID); ``` - **RENAME关键字**:`RENAME`关键字用于重命名表或列。 ```sql ...

    oracle学习总结

    - **删除表**:`DROP TABLE table_name;` 2. **数据控制语言(DCL)** - **授予权限**:`GRANT privilege TO user;` (如:`GRANT CREATE ANY VIEW TO user;`) - **撤销权限**:`REVOKE privilege FROM user;` ...

    Oracle Database 11g SQL Fundamentals 英文原版

    3. 表的创建与管理:学习如何使用CREATE TABLE语句定义表结构,以及ALTER TABLE和DROP TABLE语句对表进行修改和删除。 4. 数据类型:了解Oracle支持的各种数据类型,如NUMBER、VARCHAR2、DATE等,以及它们在实际...

    初步认识MySQL数据库

    - **删除数据库**:`DROP DATABASE [IF EXISTS] database_name;` ### 五、数据库操作示例 创建数据库的示例: ```sql CREATE DATABASE mydb1; ``` 带有`IF NOT EXISTS`条件的创建数据库示例: ```sql CREATE ...

    oracle SQL语法大全.rar

    1. 数据定义:CREATE TABLE用于创建表,ALTER TABLE修改表结构,DROP TABLE删除表。 2. 数据操纵:INSERT插入数据,UPDATE更新数据,DELETE删除数据,SELECT查询数据。 3. 数据控制:GRANT和REVOKE分别用于授予和...

    oracle与sqlserver的十大区别之一.txt

    IF EXISTS(SELECT * FROM sys.sysobjects WHERE name = 'Tr_Delete') DROP TRIGGER Tr_Delete; GO CREATE TRIGGER Tr_Delete ON BookInfo INSTEAD OF DELETE AS BEGIN DECLARE @BookId INT; SELECT @BookId...

Global site tag (gtag.js) - Google Analytics