Insert Data Table Beda Struktur Table

Insert Data Table Beda Struktur Table

Kadang kita mau insert data table dari table lain secara kasat mata kolomnya sama, tp gagal karena ada kolom yg beda, baik urutan nya ataupun nama kolomnya... disini kadang buat saya kudu nulis satu nama kolom tujuan insertnya, secara umum kalo struktur table nya sama bisa kita pake script dibawah ini :
Insert into table1 as select * from table2;

tapi script itu gak berlaku disaat ada nama kolom yg beda atau kolomnya gak ada di table asal, atau gampangnya table 1 sudah kena alter table atau penambahan kolom karena update versi aplikasi, sedangkan kita perlu insert table dari table yg versi lama... 

jadi cara nya kita kudu cari nama kolom dari table2 yg mau di insert ke table1, caranya :
SELECT  listagg(column_name,', ') 
within group(order by column_name) COL
FROM USER_TAB_COLUMNS
WHERE table_name = 'table2'
dari script di atas nanti outpunya sudah pake pemisah koma (,) antara nama kolomnya... 

so... insert nya pake script ini 
INSERT INTO table
(column1, column2, ... column_n )
SELECT column1, column2, ... column_n
FROM source_table
[WHERE conditions];
column1, column2, dst itu hasil query kita tadi di script yg pertama ya... 

Semoga bermanfaat,

Refrensi : Oracle Insert

Subscribe to receive free email updates:

0 Response to "Insert Data Table Beda Struktur Table"

Posting Komentar