如何更新数据库记录并在sql中保留旧值

如何更新数据库记录并在sql中保留旧值,sql,Sql,我有一个sql表体系结构 SQL> desc etpro_update; Name Null? Type ID NOT NULL NUMBER NAME VARCHAR2(4000) IS_ACTIVE

我有一个sql表体系结构

 SQL> desc etpro_update;
 Name                                      Null?    Type
 ID                                        NOT NULL NUMBER
 NAME                                               VARCHAR2(4000)
 IS_ACTIVE                                          NUMBER
 CREATED_DATE                                       DATE
where IS_ACTIVE column已设置为默认值1。因此,如何将相同的数据(记录)存储到具有值0和1的column IS_ACTIVE的表中。 所以最终输出应该如下所示

123         test      1      2017_12_03
123         test      0      2017_12_03

如果要创建一个新表,其中数据的
处于活动状态
0
1
,请尝试:

create table some_table as
select * from etpro_update
where is_active in (0, 1);
如果它已经存在,请使用
选择
执行
插入

insert into some_table (
    id,
    name,
    is_active,
    created_date
    )
select id,
    name,
    is_active,
    created_date
from etpro_update
where is_active in (0, 1);

我通常使用
Select*从etpro_更新进入新表,其中在(0,1)中处于活动状态
我已经对问题进行了更正,要求是如何在同一个表中使用不同的is\u ACTIVE列值存储相同的记录。where is\u ACTIVE默认设置为1。SQL>和大写字母和
desc
使我认为这是Oracle。如果是Oracle,请标记数据库类型。要添加记录,请使用
INSERT
。要确定它是0还是1,您需要知道该记录是否存在。要知道该记录是否存在,需要在唯一键上进行匹配。那么,这里的唯一关键是什么?