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 37
|
SET SERVEROUTPUT ON --permet de rendre actives les fonctions du paquetage DBMS_OUTPUT
CREATE OR REPLACE PROCEDURE log_inoc_150
( v_comm IN Commune.nomcommune%TYPE,
v_quart IN Quartier.libellequart%TYPE,
v_rue OUT Logement.rue%TYPE,
v_num OUT Logement.numero%TYPE,
v_bp OUT Logement.bp%TYPE)
IS
DECLARE
CURSOR Cursor_logem_quart_plus150 IS
SELECT rue,numero,bp INTO v_rue,v_num,v_bp
FROM Logement,Commune,Quartier WHERE Commune.idcommune=Quartier.idcom AND Quartier.idquartier=Logement.idquart
AND v_comm=nomcommune AND v_quart=libellequart AND superficie>150
AND idquartier IN (SELECT idquartier FROM Quartier,Logement WHERE idquartier=idquart
AND idlogement NOT IN (SELECT idlogement FROM Logement,Contrat WHERE idlogement=idlog));
BEGIN
DBMS_OUTPUT.PUT_LINE('Debut');
FOR i IN Cursor_logem_quart_plus150 LOOP
DBMS_OUTPUT.PUT_LINE(' '||i.v_rue
' '||i.v_num
' '||i.v_bp);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Fin');
END log_inoc_150;
/
VARIABLE g_rue VARCHAR2(50);
VARIABLE g_num INTEGER;
VARIABLE g_bp VARCHAR2(4);
EXECUTE log_inoc_150('Chatelineau','Sud',:g_rue,:g_num,:g_bp); |
Partager