Anda di halaman 1dari 3

Gabriel Evan

2181016

Prak 9

1. Tujuan: Untuk memproses pembayaran pelanggan

DELIMITER //

CREATE PROCEDURE ProcessPayment (


IN p_IdRental VARCHAR(255),
IN p_IdPelanggan VARCHAR(255),
IN p_IdTipeBayar INT,
IN p_Jumlah INT
)
BEGIN
INSERT INTO Pembayaran (IdPembayaran, TglPembayaran, Keterangan, Jumlah, IdRental,
IdPelanggan, IdTipeBayar, IdPeg)
VALUES (UUID(), CURRENT_DATE, 'Pembayaran sewa kendaraan', p_Jumlah, p_IdRental,
p_IdPelanggan, p_IdTipeBayar, 'ID_PEGAWAI_YANG_MELAKUKAN_PEMBAYARAN');
END //

DELIMITER ;

SELECT IdRental FROM Rental;

2. Tujuan: Untuk menunjukkan Data pelanggan

DELIMITER //

CREATE PROCEDURE ShowPelangganWithRentals()


BEGIN
SELECT DISTINCT P.*
FROM Pelanggan P
JOIN Rental R ON P.IdPelanggan = R.IdPelanggan;
END //
DELIMITER ;

CALL ShowPelangganWithRentals();

3. Tujuan: Memperlihatkkan mobil yang sedang di rental

DELIMITER //

CREATE PROCEDURE ShowRentedMobil()


BEGIN
SELECT DISTINCT M.*
FROM Mobil M
JOIN RentalMobil RM ON M.IdMobil = RM.IdMobil;
END //

DELIMITER ;

CALL ShowRentedMobil();

4. Tujuan: Untuk memperlihatkan Pegawai

DELIMITER //

CREATE PROCEDURE ShowEmployees()


BEGIN
SELECT * FROM Pegawai;
END //

DELIMITER ;

call ShowEmployees;
5. Tujuan: Untuk memperlihatkan Jabatan dan Cabang Pegawai

DELIMITER //

CREATE PROCEDURE ShowEmployeePositionsAndBranches()


BEGIN
SELECT P.IdPeg, P.Nama AS NamaPegawai, J.Jabatan, C.Nama AS NamaCabang
FROM Pegawai P
JOIN Jabatan J ON P.IdPeg = J.IdPeg
JOIN Cabang C ON J.NoCab = C.NoCab;
END //

DELIMITER ;

CALL ShowEmployeePositionsAndBranches();

Anda mungkin juga menyukai