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

Thursday, November 14, 2019

Tips Dan Trik Record Pada Pl/Sql

Table-Based Record

Contoh:

DECLARE    mahasiswa_rec   mahasiswa%ROWTYPE; BEGIN    SELECT *      INTO mahasiswa_rec      FROM mahasiswa     WHERE npm = '2015001';     DBMS_OUTPUT.put_line ('NPM: ' || mahasiswa_rec.npm);    DBMS_OUTPUT.put_line ('Nama: ' || mahasiswa_rec.nama);    DBMS_OUTPUT.put_line ('Jurusan: ' || mahasiswa_rec.jurusan); END; / 

Output

NPM: 2015001 Nama: Nursalim Jurusan: Teknik Informatika  PL/SQL procedure successfully completed. 

Cursor-Based Record

Contoh:

DECLARE    CURSOR mahasiswa_cur    IS       SELECT npm, nama, jurusan FROM mahasiswa;     mahasiswa_rec   mahasiswa_cur%ROWTYPE; BEGIN    OPEN mahasiswa_cur;     LOOP       FETCH mahasiswa_cur INTO mahasiswa_rec;        EXIT WHEN mahasiswa_cur%NOTFOUND;       DBMS_OUTPUT.put_line ('NPM : '||mahasiswa_rec.npm);       DBMS_OUTPUT.put_line ('Nama : '||mahasiswa_rec.nama);       DBMS_OUTPUT.put_line ('Jurusan : '||mahasiswa_rec.jurusan);    END LOOP; END; / 

Output:

NPM : 2015001 Nama : Nursalim Jurusan : Teknik Informatika NPM : 2015002 Nama : Nani Indriyani Jurusan : Bahasa Inggris NPM : 2015003 Nama : Desi Lisnawati Jurusan : Biologi 


User-Defined Record

Contoh:

DECLARE    TYPE karyawan IS RECORD    (       nik     VARCHAR (50),       nama    VARCHAR (50),       jenis_kelamin   VARCHAR (50),       honor   NUMBER    );     karyawan1   karyawan;    karyawan2   karyawan; BEGIN    -- Data Karyawan 1    karyawan1.nik := '001';    karyawan1.nama := 'Nursalim';    karyawan1.jenis_kelamin := 'Laki-Laki';    karyawan1.gaji := 1000000;        -- Data Karyawan 2    karyawan2.nik := '002';    karyawan2.nama := 'Nani Indriyani';    karyawan2.jenis_kelamin := 'Perempuan';    karyawan2.gaji := 500000;        -- Cetak Data Karyawan 1    DBMS_OUTPUT.put_line ('Karyawan 1 NIK : ' || karyawan1.nik);    DBMS_OUTPUT.put_line ('Karyawan 1 Nama : ' || karyawan1.nama);    DBMS_OUTPUT.put_line ('Karyawan 1 Jenis Kelamin : ' || karyawan1.jenis_kelamin);    DBMS_OUTPUT.put_line ('Karyawan 1 Gaji : ' || karyawan1.gaji);        -- Cetak Data Karyawan 2    DBMS_OUTPUT.put_line ('Karyawan 2 NIK : ' || karyawan2.nik);    DBMS_OUTPUT.put_line ('Karyawan 2 Nama : ' || karyawan2.nama);    DBMS_OUTPUT.put_line ('Karyawan 2 Jenis Kelamin : ' || karyawan2.jenis_kelamin);    DBMS_OUTPUT.put_line ('Karyawan 2 Gaji : ' || karyawan2.gaji); END; / 

Output:

Karyawan 1 NIK : 001 Karyawan 1 Nama : Nursalim Karyawan 1 Jenis Kelamin : Laki-Laki Karyawan 1 Gaji : 1000000 Karyawan 2 NIK : 002 Karyawan 2 Nama : Nani Indriyani Karyawan 2 Jenis Kelamin : Perempuan Karyawan 2 Gaji : 500000  PL/SQL procedure successfully completed. 

Record Sebagai Parameter Store Procedure

Contoh:

DECLARE    TYPE karyawan IS RECORD    (       nik     VARCHAR (50),       nama    VARCHAR (50),       jenis_kelamin   VARCHAR (50),       honor   NUMBER    );     karyawan1   karyawan;    karyawan2   karyawan; PROCEDURE cetak_karyawan(data_karyawan karyawan) IS BEGIN     DBMS_OUTPUT.put_line ('Karyawan NIK : ' || data_karyawan.nik);    DBMS_OUTPUT.put_line ('Karyawan Nama : ' || data_karyawan.nama);    DBMS_OUTPUT.put_line ('Karyawan Jenis Kelamin : ' || data_karyawan.jenis_kelamin);    DBMS_OUTPUT.put_line ('Karyawan Gaji : ' || data_karyawan.gaji); END;     BEGIN    -- Data Karyawan 1    karyawan1.nik := '001';    karyawan1.nama := 'Nursalim';    karyawan1.jenis_kelamin := 'Laki-Laki';    karyawan1.gaji := 1000000;        -- Data Karyawan 2    karyawan2.nik := '002';    karyawan2.nama := 'Nani Indriyani';    karyawan2.jenis_kelamin := 'Perempuan';    karyawan2.gaji := 500000;        -- Cetak Data Karyawan    cetak_karyawan(karyawan1);    cetak_karyawan(karyawan2);     END; / 

Output:

Karyawan NIK : 001 Karyawan Nama : Nursalim Karyawan Jenis Kelamin : Laki-Laki Karyawan Gaji : 1000000 Karyawan NIK : 002 Karyawan Nama : Nani Indriyani Karyawan Jenis Kelamin : Perempuan Karyawan Gaji : 500000  PL/SQL procedure successfully completed.