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),
gaji 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),
gaji 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.
0 comments:
Post a Comment