博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle创建表之前判断表是否存在,如果存在则删除已有表
阅读量:5930 次
发布时间:2019-06-19

本文共 748 字,大约阅读时间需要 2 分钟。

在sqlserver中,有if exit()这样的语句,但是在oracle中却没有。如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行。因此可以通过一个存储过来来进行判断。

主要是查询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   then           execute immediate 'drop table EMP';       end   if; end; / --创建表CREATE TABLE EMP       (EMPNO NUMBER(4) NOT NULL,        ENAME VARCHAR2(10),        JOB VARCHAR2(9),        MGR NUMBER(4),        HIREDATE DATE,        SAL NUMBER(7, 2),        COMM NUMBER(7, 2),        DEPTNO NUMBER(2));

可以将上述存储过程加载到每一个create table前面。

转载于:https://www.cnblogs.com/xwdreamer/archive/2012/06/18/2553415.html

你可能感兴趣的文章
SQL Server代理(3/12):代理警报和操作员
查看>>
基于事件驱动的DDD领域驱动设计框架分享(附源代码)
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
行列式的乘法定理
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
MySQL 5.6为什么关闭元数据统计信息自动更新&统计信息收集源代码探索
查看>>
apache prefork模式优化错误
查看>>
jmeter高级用法例子,如何扩展自定义函数
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
JS页面刷新保持数据不丢失
查看>>
清橙A1202&Bzoj2201:彩色圆环
查看>>
使用data pump工具的准备
查看>>
springMVC---级联属性
查看>>
get和post区别
查看>>
crontab执行shell脚本日志中出现乱码
查看>>
Floodlight 在 ChannelPipeline 图
查看>>
做移动互联网App,你的测试用例足够吗?
查看>>
cmd.exe启动参数说明
查看>>