Oracle根据备份表还原时缺失默认值的问题

文章讲述了在数据库恢复过程中,由于备份表丢失默认值可能导致的问题。作者提出通过先删除原表内容再插入备份数据的方法,以保持默认值和其他约束。
摘要由CSDN通过智能技术生成

最近工作中遇到一些业务上的问题,最后查到原因就是:根据备份表还原时缺失默认值。

一般备份表都是这样操作:

create table xxx_240430 as

select * from xxx

这时备份表xxx_240430已经没有默认值了。

如果要还原表,这样操作的话:

drop table xxx;

create table xxx as 
select * from xxx_240430

还原后的表xxx就没有默认值了,新增数据时就会存在问题。

另外,主键,唯一,外键,check约束,分区,索引以及列的默认值也不会带到新表。

避免发生这种情况,可以这样操作:

delete from xxx;

inser into xxx(column_1, column_2) 
select column_1, column_2 from xxx_240430

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值