如何更新数据库记录并在sql中保留旧值
我有一个sql表体系结构如何更新数据库记录并在sql中保留旧值,sql,Sql,我有一个sql表体系结构 SQL> desc etpro_update; Name Null? Type ID NOT NULL NUMBER NAME VARCHAR2(4000) IS_ACTIVE
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,您需要知道该记录是否存在。要知道该记录是否存在,需要在唯一键上进行匹配。那么,这里的唯一关键是什么?