Array Pada PL/SQL

Apa Itu Array?

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

Ukuran dari Array adalah tetap.

Membuat Array

Di bawah ini adalah sintak dasar untuk membuat 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 membuat program 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 membuat Array yang datanya berasal dari sebuah tabel di Oracle database. Prosesnya adalah Anda query terlebih dahulu dengan menggunakan 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 program 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.

Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment