2014-02-20 37 views
0

如何在不刪除並重新創建表的情況下將列插入到oracle中的特定位置?在oracle中動態添加特定位置的列

考慮我在甲骨文

 
    CUSTOMER_ID ACC_NO ACC_BALANCE 
------------------------------------ 
     100 200  1000 
     101 150  4000 
     102 350  2000 
     103 450  2500 
     104 550  2200 

創造了這個inital表現在我想補充另一列CUSTOMER_NAME作爲第二列(posotion)到表中。 我想檢查相同的數百個表,我正在使用一個腳本來執行此 和作爲動態輸入的傳遞名稱。

你能somedody請幫助與動態的解決方案毫瓦

+1

列在一個表中的順序是完全不相干的。如果您需要在前端以特定順序,然後創建一個SELECT語句,並按您想要的順序列出它們。 –

+0

thanq Mihai,但這裏即時照顧從後端aktering它自我,我不想再次刪除和重新創建表我必須改變並添加列到表一般 –

+0

@Mihai:這是無效的DDL爲Oracle –

回答

0

簡短的回答 - 它不能這樣做,除非你升級到12C(在那裏你可以臨時將該位置後的列設置爲不可見,添加列,然後將其設置爲再次可見)。

朗的答案 - 如果你真的需要做到這一點(我從來沒有找到一個合理的理由,爲什麼有人會需要這樣做),你可以

  • 創建一個新表T_new按照正確的順序
  • 列刪除舊錶T_old
  • 重命名新表T_new到T_old
+0

thanq Frank我會跟着同樣的 –

+0

不客氣。如果這回答你的問題,請考慮接受我的答案。 –

相關問題