2017-04-03 83 views
0

舊值我有一個SQL表架構如何更新數據庫記錄,仍然保持在SQL

SQL> desc etpro_update; 
Name          Null? Type 
ID          NOT NULL NUMBER 
NAME            VARCHAR2(4000) 
IS_ACTIVE           NUMBER 
CREATED_DATE          DATE 

其中IS_ACTIVE列已設置爲默認1.So的價值,我們怎麼可以存儲相同的數據(記錄)入表中具有值的列IS_ACTIVE 0 所以最終的輸出應該看起來像如下

123   test  1  2017_12_03 
123   test  0  2017_12_03 
+0

我一般去'SELECT * INTO newtable中從etpro_update其中IS_ACTIVE(0,1) ' – flaZer

+0

我已經對問題進行了更正,要求就像我們如何在同一個表中存儲具有不同IS_ACTIVE列值的記錄。其中IS_ACTIVE默認設置爲1。 – hemu

+0

SQL>和大寫和'desc'讓我覺得這是O​​racle。如果它是Oracle,請標記數據庫類型。要使用'INSERT'添加記錄。要確定它是0還是1,您需要知道該記錄是否存在。要知道該記錄是否存在,您需要匹配一個唯一的密鑰。那麼這裏唯一的關鍵是什麼? –

回答

0

如果你想創建一個新表具有IS_ACTIVE爲數據0或1,然後嘗試:

create table some_table as 
select * from etpro_update 
where is_active in (0, 1); 

如果它已經存在,使用做INSERTSELECT

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); 
相關問題