Esempi sui cursori

This commit is contained in:
Fabio Scotto di Santolo
2019-09-13 20:02:16 +02:00
parent 0e4018a47b
commit 330aa77609
6 changed files with 346 additions and 0 deletions

59
cursori/CURSORI_5.sql Normal file
View File

@@ -0,0 +1,59 @@
--Esempio Cursore FOR LOOPS
DECLARE
--Dichiarazione del cursore
CURSOR C_CLIENTI
IS
SELECT
CODFIDELITY,
NOME,
COGNOME
FROM
CLIENTI
WHERE
CODFIDELITY IN
(
SELECT DISTINCT
CODFID
FROM
SCONTRINI
WHERE
CODFID <> - 1
GROUP BY
CODFID
HAVING
SUM(TOTALE) > 300
);
BEGIN
DELETE
FROM
TOP_CLI
WHERE
MESE = EXTRACT(MONTH FROM SYSDATE);
FOR R_CLIENTI IN C_CLIENTI -- Fetch del cursore
LOOP
DBMS_OUTPUT.PUT_LINE ('Inserimento ' || R_CLIENTI.CODFIDELITY);
INSERT
INTO
TOP_CLI
(
CODFID,
MESE,
NOME,
COGNOME
)
VALUES
(
R_CLIENTI.CODFIDELITY,
EXTRACT(MONTH FROM SYSDATE),
R_CLIENTI.NOME,
R_CLIENTI.COGNOME
);
END LOOP;
END;