Oracle 有表就先删 在创建,没那张表就直接创建。 急啊,在线等。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 有表就先删 在创建,没那张表就直接创建。 急啊,在线等。相关的知识,希望对你有一定的参考价值。

oracle自己自带的脚本都是先drop再create的,所以你会发现手动创建scott方案和hr方案的时候会出很多drop报错。
这样如果表不存在drop报错,但是没有任何影响。
存在了drop成功然后create,完全符合你的要求。
所以,直接用:
drop table xxx cascade constraints;
create table xxx;
参考技术A drop table if exists 表名;
create table表名;追问

是oracle 。。不删mysql 。你那样不行的.

追答

哦,呵呵,混了。试试这个:
begin
execute immediate ' drop table 表名';
exception when others then
null;
end;

参考技术B 创建存储过程,--判断是否有结果,
create proce pr_tbname as
IF EXISTS(SELECT name
FROM testtable )
DROP TABLE testtable
GO
begin
create table testtable (。。。。);
end if;
end

以上是关于Oracle 有表就先删 在创建,没那张表就直接创建。 急啊,在线等。的主要内容,如果未能解决你的问题,请参考以下文章

java中javabean的辅助类 怎么使用

mysql中多表连接(不使用join )为啥 超过三张表就报错?

oracle 11g 分区表创建(自动按年分区)

关于写SQL语句的技巧

sqlserver:如果存在a表就删除a表,sqlserver语句该怎么写

数据字典Data Dict