Kalau table TBTRAINING sudah berhasil diisi record maka
coba di table TBHTRAINING tambahkan satu kolom ID yg merefer ke kolom ID 
di table TBTRAINING trus isi kolom tsb. via pseudo procedure:
DECLARE
BEGIN
    FOR rec IN (SELECT ID, mulai, selesai FROM TBTRAINING) LOOP
       UPDATE TBHTRAINING set ID = rec.ID WHERE  mulai =  rec.mulai  
AND  selesai  =  rec.selesai;
    END LOOP;
END;
/

Untuk insert ke table TBDTRAINING tinggal pake perintah SQL:
INSERT INTO TBDTRAINING (ID,int_id,mulai,selesai,laporan,sertifikat) 
SELECT ID,int_id,mulai,selesai,laporan,sertifikat FROM TBHTRAINING;

rgds,
Awal

Jemmy wrote:
>
> Salam, numpang tanya.
>
> Saya punya tabel dgn struktur sbb:
>
> TBHTRAINING
> -----------
> int_id number, //internal ID utk karyawan
> topik varchar2(200),
> penyelenggara varchar2(200),
> lokasi varchar2(100),
> biaya number,
> mulai date,
> selesai date,
> jmlhari number,
> laporan char(1),
> sertifikat char(1)
>
> Tabel diatas, akan dipecah menjadi 2 tabel berbentuk
> master detail, dgn struktur sbb:
>
> TBTRAINING
> ----------
> ID varchar2(8), //ID pelaksanaan
> training
> judul varchar2(200), //topik
> penyelenggara varchar2(200),
> mulai date,
> selesai date
>
> TBDTRAINING
> -----------
> ID varchar2(8), //relasi ke tbtraining
> int_id number, //internal id karyawan
> mulai date,
> selesai date,
> laporan char(1),
> sertifikat char(1)
>
> Kondisi sekarang, di TBHTRAINING sudah ada sekitar
> 1000 record data training, yg ingin dipisahkan ke dua
> tabel tadi. Sehingga di TBTRAINING tersimpan informasi
> tentang trainingnya, sedangkan di TBDTRAINING
> tersimpan informasi tentang peserta yang mengikuti
> training tsb.
>
> Saya sudah berhasil menyimpan informasi tentang
> training di tabel TBTRAINING, tetapi yg jadi masalah
> adalah bagaimana memindahkan informasi peserta itu ke
> TBDTRAINING dan masing2 record tersebut mendapatkan ID
> (training) yang tepat.
>
> Kondisi record:
> 1. Judul dan penyelenggara training tidak unik.
> 2. Informasi yg membedakan antara pelaksanaan satu dgn
> yang lain adalah tanggal mulai, tanggal selesai,
> judul, penyelenggara.
>
> Ide yang muncul adalah dgn men-select dan
> menggabungkan TBTRAINING dgn TBHTRAINING menggunakan
> query berikut:
> ---------------------------------------------------
> select tbtraining.id, tbhtraining.*
> from tbtraining, tbhtraining
> where tbtraining.tglmulai=tbhtraining.mulai and
> tbtraining.judul=tbhtraining.topik
> ---------------------------------------------------
>
> Hasilnya, muncul record2 training yg berpasangan dgn
> IDnya masing2, cuma belum saya cek semua apakah ID yg
> diambil sudah betul.
>
> Pertanyaan saya:
> 1. Bagaimana caranya kita melakukan query dan hasil
> query itu dimasukkan ke tabel lainnya?
> 2. Adakah metode lain yang bisa digunakan pada kasus
> yang saya hadapi?
>
> Terima kasih atas bantuan para senior dan rekan2 sekalian.
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com <http://mail.yahoo.com>
>
>  

Kirim email ke