Anda di halaman 1dari 4

PRAKTIKUM PEMROGRAMAN BASIS DATA

BAB
NAMA
NIM
ASISTEN

: CURSOR AND RESULT SETS


: HARMAN ABIWARDANI
TGL PRAKTIKUM
: 135150400111060
TGL PENGUMPULAN
:
: RAYYAN RAMADHAN
DWI CITRA ANNISA
ZATA ISMAH

1. Buatlah tabel PEGAWAI_3NIM yang berisi EMPNO, FULLNAME dan


DEPTNAME. Kemudian buatlah prosedur dengan nama MULTIPLE_3NIM
dengan ketentuan:
- Lakukan insert ke tabel PEGAWAI_3NIM berdasarkan tabel employee
(10 baris saja, urutkan berdasarkan FIRSTNME)
- Prosedur terdiri dari result sets 2
- Result set 1 menampilkan "DATA BERHASIL DIMASUKKAN"
- Result set 2 menampilkan data tabel PEGAWAI_3NIM
CREATE TABLE PEGAWAI_060(
P_EMPNO VARCHAR(6),
P_FULLNAME VARCHAR(30),
P_DEPTNAME VARCHAR(30)
)@
CREATE OR REPLACE PROCEDURE MULTIPLE_060()
DYNAMIC RESULT SETS 2
BEGIN
DECLARE IN_EMPNO VARCHAR (6);
DECLARE IN_FIRSTNME VARCHAR (15);
DECLARE IN_LASTNAME VARCHAR (15);
DECLARE IN_DEPTNAME VARCHAR (30);
DECLARE FULL_NAME VARCHAR (30);
DECLARE COUNTER INTEGER DEFAULT 0;
DECLARE CURSOR1 CURSOR FOR
SELECT EMPNO, FIRSTNME, LASTNAME, DEPTNAME FROM EMPLOYEE, DEPARTMENT
WHERE WORKDEPT = DEPTNO
ORDER BY FIRSTNME;
OPEN CURSOR1;
DELETE FROM PEGAWAI_060;
ULANG : LOOP
FETCH CURSOR1 INTO IN_EMPNO, IN_FIRSTNME, IN_LASTNAME,
IN_DEPTNAME;
SET FULL_NAME = IN_FIRSTNME ||' '|| IN_LASTNAME;
INSERT INTO PEGAWAI_060 VALUES (IN_EMPNO, FULL_NAME,
IN_DEPTNAME);
SET COUNTER = COUNTER+1;
IF COUNTER >=10 THEN LEAVE ULANG;
END IF;
END LOOP ULANG;
P2 : BEGIN
DECLARE CUR1 CURSOR WITH RETURN FOR
SELECT 'DATA BERHASIL DIMASUKKAN' FROM SYSIBM.DUAL;
DECLARE CUR2 CURSOR WITH RETURN FOR
SELECT * FROM PEGAWAI_060;
OPEN CUR1;
OPEN CUR2;
END P2;
END@

PRAKTIKUM PEMROGRAMAN BASIS DATA


BAB
NAMA
NIM
ASISTEN

: CURSOR AND RESULT SETS


: HARMAN ABIWARDANI
TGL PRAKTIKUM
: 135150400111060
TGL PENGUMPULAN
:
: RAYYAN RAMADHAN
DWI CITRA ANNISA
ZATA ISMAH

PRAKTIKUM PEMROGRAMAN BASIS DATA


BAB
NAMA
NIM
ASISTEN

: CURSOR AND RESULT SETS


: HARMAN ABIWARDANI
TGL PRAKTIKUM
: 135150400111060
TGL PENGUMPULAN
:
: RAYYAN RAMADHAN
DWI CITRA ANNISA
ZATA ISMAH

2. Buatlah prosedur untuk melakukan update kolom MIDINIT pada employee


menggunakan cursor dengan ketentuan:
- Prosedur terdiri dari 2 result sets
- Result set 1 menampilkan pesan "DATA BERHASIL DIUPDATE"
- Result set 2 menampilkan semua data pegawai berupa FIRSTNME,
MIDINIT, dan LASTNAME setelah data employee diupdate
- Data yang diupdate berupa MIDINIT pada data employee yang terletak
pada baris ke-( 1 digit nim terakhir) dan nilai MIDINIT diupdate dengan
inisial huruf pertama FIRSTNME masing2.
CREATE OR REPLACE PROCEDURE UPD_MIDINIT_060()
DYNAMIC RESULT SETS 2
BEGIN
DECLARE COUNTER INTEGER DEFAULT 0;
DECLARE MID_INIT CHAR(1);
DECLARE C_1 CURSOR WITH RETURN FOR
SELECT 'DATA BERHASIL DIUPDATE'
FROM SYSIBM.DUAL;
DECLARE C_2 CURSOR WITH RETURN FOR
SELECT FIRSTNME, MIDINIT, LASTNAME
FROM EMPLOYEE;
DECLARE C CURSOR FOR
SELECT MIDINIT
FROM EMPLOYEE FOR UPDATE OF MIDINIT;
OPEN C;
OPEN C_1;
WHILE COUNTER < 10
DO
FETCH FROM C INTO MID_INIT;
SET COUNTER = COUNTER + 1;
END WHILE;
UPDATE EMPLOYEE SET MIDINIT = 'R'
WHERE CURRENT OF C;
OPEN C_2;
END@

PRAKTIKUM PEMROGRAMAN BASIS DATA


BAB
NAMA
NIM
ASISTEN

: CURSOR AND RESULT SETS


: HARMAN ABIWARDANI
TGL PRAKTIKUM
: 135150400111060
TGL PENGUMPULAN
:
: RAYYAN RAMADHAN
DWI CITRA ANNISA
ZATA ISMAH

Anda mungkin juga menyukai