我正在嘗試做一些非常簡單的事情......讓我舉一個例子。 假設我有一個有多列的表格,讓我們調用其中一列「u」。這個列只有3個不同的值, 0,1和2。 我想創建附加的三列U_0,U_1和U_2如下:以編程方式將列添加到Oracle表中
If u = 0, then u_0 = 1, u_1 = 0 and u_2 = 0
If u = 1, then u_0 = 0, u_1 = 1 and u_2 = 0
If u = 2, then u_0 = 0, u_1 = 0 and u_2 = 1
這僅僅是一個例子。有幾個像u這樣的列,有三個以上不同的值,我需要爲所有這些變量做相似的列添加。 是否可以在Oracle PL/SQL中編寫一個程序,它可以有效地執行此操作? 感謝和問候, Dibyendu
我不認爲有一個簡單的方法來做到這一點,並有充分的理由。 Oracle具有「立即執行」語句,但不允許DDL。 DDL需要隱式提交。爲什麼不寫一個sqlplus腳本呢? – OldProgrammer
@LeorA - 立即執行確實可以與DDL一起工作。例如,'begin execute immediate'create table test1(a number)';結束;'。 Dibyendu - 這些色譜柱需要更換多久?你只需要創建一次列? U_0,U_1和U_2中的值是否需要與U的更改保持一致? –
讓我們假設這些值永遠不會改變......我只需要創建一次額外的列。祝好,Dibyendu –