---SOAL NO 1.Buatlah blok anonim PL/SQL untuk menampilkan data NIM dan nama mahasiswa yang memiliki angka nim terkecil pada kelas PIS-10-01
CREATE TABLE KELAS(
KD_KELAS VARCHAR(2) NOT NULL,
NAMA_KELAS VARCHAR2(10),
KAPASITAS NUMBER,
CONSTRAINT KD_KELAS_PK PRIMARY KEY (KD_KELAS));
CREATE TABLE MAHA_SISWA(
NIM VARCHAR2(7)NOT NULL,
NAMA VARCHAR2(50),
ALAMAT VARCHAR2(50),
KD_KELAS VARCHAR2(2),
CONSTRAINT NIM_PK PRIMARY KEY (NIM),
FOREIGN KEY (KD_KELAS) REFERENCES KELAS(KD_KELAS));
SELECT * FROM KELAS;
SELECT * FROM MAHA_SISWA;
INSERT INTO KELAS(KD_KELAS,NAMA_KELAS,KAPASITAS)VALUES('1','PIS-10-01','40');
INSERT INTO KELAS(KD_KELAS,NAMA_KELAS,KAPASITAS)VALUES('2','PIS-10-02','40');
INSERT INTO KELAS(KD_KELAS,NAMA_KELAS,KAPASITAS)VALUES('3','PIS-10-03','40');
INSERT INTO KELAS(KD_KELAS,NAMA_KELAS,KAPASITAS)VALUES('4','PCE-10-01','40');
INSERT INTO KELAS(KD_KELAS,NAMA_KELAS,KAPASITAS)VALUES('5','PCA-10--01','40');
INSERT INTO MAHA_SISWA(NIM,NAMA,ALAMAT,KD_KELAS)VALUES('3031001','ABDUL HAKIM','JL.BANDA 101','5');
INSERT INTO MAHA_SISWA(NIM,NAMA,ALAMAT,KD_KELAS)VALUES('3031002','BENI LEMKARI','JL.BUAHBATU 123','5');
INSERT INTO MAHA_SISWA(NIM,NAMA,ALAMAT,KD_KELAS)VALUES('3011001','ANGGA SUNANDAR','JL BUAHBATU 444','1');
INSERT INTO MAHA_SISWA(NIM,NAMA,ALAMAT,KD_KELAS)VALUES('3011002','BRIAN SARAGIH','JL BUAHBATU 444','1');
INSERT INTO MAHA_SISWA(NIM,NAMA,ALAMAT,KD_KELAS)VALUES('3021001','ANISA SUHENDAR','JL AMBON 100','2');
---SOLUSI
DECLARE
vnim NUMBER;
vnama VARCHAR2(20);
BEGIN
SELECT M.nim, M.nama INTO vnim, vnama
FROM kelas K JOIN maha_siswa M
ON K.kd_kelas = M.kd_kelas
AND K.nama_kelas='PIS-10-01'
AND ROWNUM=1
ORDER BY nim ASC;
DBMS_OUTPUT.PUT_LINE(vnim||' , '||vnama);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
BELAJAR PL/SQL BAB1
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.