Pada kasus-kasus tertentu di dalam pemrograman database, terkadang kita harus melakukan penggabungan data-data string dengan menggunakan separator (tanda pemisah) tertentu.
Sebagai contoh, asumsikan kita memiliki sebuah tabel KARYAWAN dengan data-data seperti berikut:
Selanjutnya, kita ingin menampilkannya seperti berikut:
Bagaimana caranya? Berikut ini langkah-langkah yang dapat menjadi alternatif untuk dapat melakukan hal di atas.
Langkah 1, Buatlah sebuah fungsi dengan field JABATAN sebagai parameternya. Fungsi ini akan mengembalikan nama-nama awal yang terdapat pada jabatan tersebut, dan akan ditampilkan dalam bentuk comma-separated-list (daftar nama yang dibatasi dengan koma). Adapun sintaknya adalah sebagai berikut:
SQL> create or replace function getKaryawan(vjabatan in karyawan.jabatan%type)
2 return varchar2
3 is
4 text_hasil varchar2(1000) := null; -- inisialisasi nilai dengan NULL
5 begin
6 for i in (select nama_awal from karyawan where jabatan = vjabatan) loop
7 text_hasil := text_hasil || ',' || i.nama_awal;
8 end loop;
9 return ltrim(text_hasil, ','); -- menghapus tanda koma untuk karakter pertama
10 end;
11 /
Function created.
Langkah 2, Buatlah sebuah query dari tabel KARYAWAN dengan memanggil fungsi di atas, dan lakukan GROUP terhadap field JABATAN, seperti yang tampak pada sintak berikut:
SQL> select jabatan, getKaryawan(jabatan) from karyawan group by jabatan;
Jan 5, 2006
Bermain "String" di Oracle
at
11:01 AM
·
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment