2011-07-14 187 views
0

我想編寫一個SQL,將表中的所有列重置爲默認值,除了像主鍵這樣的幾個列之外。SQL將數列重置爲默認值

我只想列舉colums不更新,並重置其他所有內容。有很多colums在桌子上,我不想寫:

update my_table set column1 = DEFAULT, column2 = DEFAULT, ... where ... 

所有colums,因爲有相當多。

任何想法?我正在使用Oracle

+0

你可以使用dbms_redefinition使用與默認值intermedietery表達到相同 – psaraj12

回答

0

我不認爲有一個過程來執行您想要的操作,但如果您唯一的問題是編寫SQL的沉重負擔,您可以使用ALL_TAB_COLUMNS視圖自動執行該操作。你可以改進你的需求的想法:

select 
    'update ' || TABLE_NAME || 
    'set ' || 
    COLUMN_NAME || ' = DEFAULT' 
from ALL_TAB_COLUMNS 
where 
    table_name = <YOUR_TABLE>