1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
CREATE OR REPLACE PROCEDURE proc_logem_dimin_pourc
(p_pourc IN NUMBER,
p_nomquart IN Quartier.nomquart%TYPE,
p_nomcom IN Commune.nomcom%TYPE)
IS
CURSOR Cur_Logements_pourc IS
SELECT
L.idlog, L.numero, L.loyer, Q.nomquart, C.nomcommune
FROM
Commune C, Quartier Q, Logement L
WHERE
C.idcom = Q.idcom
AND
Q.idquart = L.idquart
AND
p_nomquart = Q.nomquart
AND
p_nomcom = C.nomcom
FOR UPDATE OF L.loyer;
BEGIN
FOR enreg IN Cur_Logements_pourc
LOOP
UPDATE Logement SET
L.loyer = (1 - p_pourc/100) * L.loyer
WHERE CURRENT OF Cur_Logements_pourc;
END LOOP;
END proc_logem_dimin_pourc ;
/ |
Partager