码迷,mamicode.com
首页 > 数据库 > 详细

Oracle表存在则删除后再重建

时间:2019-09-27 01:15:20      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:view   nbsp   arch   acl   chinese   rom   rop   执行   name   

简单的执行方式:

drop table USERINFO;
create table USERINFO
(
 EnglishName varchar(30),
 ChineseName varchar(30),
 Sex varchar(10),
 Age int,
 BirthPlace varchar(100),
 BirthDate date default sysdate
);

上面的方式有个缺陷,如果表不存在,那么会drop语句会报错

ORA-00942: table or view does not exist

技术图片

 

 

更加优秀的执行方式:

declare 
w_count int;
w_name varchar(20);
begin
w_name:=USERINFO;
select count(*) into w_count from user_tables where table_name = w_name;
if(w_count>0) then
execute immediate drop table USERINFO;
end if;
execute immediate create table USERINFO
(
   EnglishName varchar(30),
   ChineseName varchar(30),
   Sex varchar(10),
   Age int,
   BirthPlace varchar(100),
   BirthDate date default sysdate
);
end;

 

Oracle表存在则删除后再重建

标签:view   nbsp   arch   acl   chinese   rom   rop   执行   name   

原文地址:https://www.cnblogs.com/mkl34367803/p/11595229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!