度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1234|回复: 9
打印 上一主题 下一主题

[分享] oracle创建表之前判断表是否存在,如果存在则删除已有表

[复制链接]

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
跳转到指定楼层
楼主
发表于 2020-6-4 15:21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在sqlserver中,有if exit()这样的语句,但是在oracle中却没有。如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行。因此可以通过一个存储过来来进行判断。
主要是查询all_tables表的TABLE_NAME和OWNER,如果表存在,则执行execute immediate 'drop table TABLE_NAME';

  1. --判断表是否存在,如果存在则删除
  2. declare
  3.       num   number;
  4. begin
  5.       select count(1) into num from all_tables where TABLE_NAME = 'EMP' and OWNER='SCOTT';
  6.       if   num=1   then
  7.           execute immediate 'drop table EMP';
  8.       end   if;
  9. end;
  10. /
  11. --创建表
  12. CREATE TABLE EMP
  13.        (EMPNO NUMBER(4) NOT NULL,
  14.         ENAME VARCHAR2(10),
  15.         JOB VARCHAR2(9),
  16.         MGR NUMBER(4),
  17.         HIREDATE DATE,
  18.         SAL NUMBER(7, 2),
  19.         COMM NUMBER(7, 2),
  20.         DEPTNO NUMBER(2));
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
沙发
 楼主| 发表于 2020-6-4 15:22:47 | 只看该作者
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
板凳
发表于 2020-6-5 19:09:23 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
地板
 楼主| 发表于 2020-6-7 14:03:00 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
5#
发表于 2020-6-7 14:22:01 | 只看该作者
回复

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
6#
发表于 2020-6-7 19:28:37 | 只看该作者

点评

终帖............ ...............  详情 回复 发表于 2020-6-8 14:31
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
7#
 楼主| 发表于 2020-6-8 14:31:44 | 只看该作者

终帖............ ...............
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
8#
发表于 2020-6-9 18:21:33 | 只看该作者

点评

终帖 终帖 终帖 重要的事情说三遍  详情 回复 发表于 2020-6-10 15:08
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
9#
 楼主| 发表于 2020-6-10 15:08:11 | 只看该作者

终帖 终帖 终帖 重要的事情说三遍
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
10#
发表于 2020-6-10 18:24:47 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-28 07:49 , Processed in 0.125328 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表