Situs informasi aplokasi, Tips dan trik, Berita, informasi Teknologi, perkembangan Gadget dan internet.

Thursday, November 14, 2019

Tips Dan Trik Array Pada Pl/Sql

Apa Itu Array?

Array yaitu tipe data collection yang berisi kumpulan data yang memiliki tipe data yang sama. Pada Oracle PL/SQL, Array dimulai dari index ke-1.

Ukuran dari Array yaitu tetap.

Membuat Array

Di bawah ini yaitu sintak dasar untuk menciptakan Array di PL/SQL:

Sintak Dasar:

CREATE OR REPLACE TYPE varray_type_name IS VARRAY(n) of ; 

Contoh:

CREATE Or REPLACE TYPE arrayMHS AS VARRAY(5) OF VARCHAR2(10); / Type created. 

Contoh Program #1

Pada Contoh Program#1 ini kita akan menciptakan jadwal PL/SQL untuk menyimpan data di Array.

DECLARE    type arraynama IS VARRAY(5) OF VARCHAR2(50);    type arraynilai IS VARRAY(5) OF INTEGER;    names arraynama;    grades arraynilai;    total integer; BEGIN    names := arraynama('Nursalim', 'Nani Indriyani', 'Iskiyati', 'Nurul Hikmah', 'Sri Rahayu');    grades:= arraynilai(98, 97, 78, 87, 92);    total := names.count;    DBMS_OUTPUT.PUT_LINE('Total '|| total || ' Mahasiswa');    FOR i in 1 .. total LOOP       DBMS_OUTPUT.PUT_LINE('Nama Mahasiswa : ' || names(i) || '     Nilai: ' || grades(i));    END LOOP; END; / 

Output

Total 5 Mahasiswa Nama Mahasiswa : Nursalim     Nilai: 98 Nama Mahasiswa : Nani Indriyani     Nilai: 97 Nama Mahasiswa : Iskiyati     Nilai: 78 Nama Mahasiswa : Nurul Hikmah     Nilai: 87 Nama Mahasiswa : Sri Rahayu     Nilai: 92  PL/SQL procedure successfully completed. 

Contoh Program #2

Pada Contoh Program #2 ini, kita akan menciptakan Array yang datanya berasal dari sebuah tabel di Oracle database. Prosesnya yaitu Anda query terlebih dahulu dengan memakai Cursor dan datanya di simpan dalam Array.

Langkah-langkahnya adalah:

1. Buat tabel Mahasiswa

CREATE TABLE MAHASISWA (   NPM      VARCHAR2(10 BYTE),   NAMA     VARCHAR2(50 BYTE),   JURUSAN  VARCHAR2(50 BYTE) ); 

2. Insert data ke tabel Mahasiswa

SET DEFINE OFF; Insert into MAHASISWA    (NPM, NAMA, JURUSAN)  Values    ('2015001', 'Nursalim', 'Teknik Informatika'); Insert into MAHASISWA    (NPM, NAMA, JURUSAN)  Values    ('2015002', 'Nani Indriyani', 'Bahasa Inggris'); Insert into MAHASISWA    (NPM, NAMA, JURUSAN)  Values    ('2015003', 'Desi Lisnawati', 'Biologi'); COMMIT;  

3. Buat jadwal PL/SQL untuk menyimpan data mahasiswa dalam bentuk Array.

DECLARE    CURSOR c_mahasiswa    IS SELECT nama FROM mahasiswa;     TYPE c_list IS VARRAY (6) OF mahasiswa.nama%TYPE;     daftar_nama   c_list := c_list ();    counter     INTEGER := 0; BEGIN    FOR n IN c_mahasiswa    LOOP       counter := counter + 1;       daftar_nama.EXTEND;       daftar_nama (counter) := n.nama;       DBMS_OUTPUT.put_line (          'Nama Mahasiswa (' || counter || '):' || daftar_nama (counter));    END LOOP; END; 

4. Output

Nama Mahasiswa (1):Nursalim Nama Mahasiswa (2):Nani Indriyani Nama Mahasiswa (3):Desi Lisnawati  PL/SQL procedure successfully completed.