`
mengxiangfeiyan
  • 浏览: 15444 次
社区版块
存档分类
最新评论

慎用create table as select,一定要注意默认值的问题

阅读更多

慎用create table as select,一定要注意默认值的问题

     很多人会使用create table  as select * from table where id=-1的方式来年建立一摸一样的表,或者使用create table a as select * from b可以创建一个与b表结构一样的表,但是在实际应用最好不要这么创建表。原因是这样只创建表的结构,而不会将原表的默认值一起创建。

 

第一,新建一个表

 

-- Create table
create table table01
(
  id        number(16),
  add_date  date default sysdate,
  status    number(1),
  entp_code varchar2(200)
)

 

第二,使用create table table02 as
select * From table01 where id=-1

 

第三、看看两个表的结构,会发现第二张表的defaule value没有了,如下2图,可以很明显看出来,表02的add_date的默认值得sysdate没有了

 

table01的表结构

 

table02的表结构

 

所以各位在做数据库迁移时候,使用create table as select时候,一定要注意默认值的问题

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics