Domanda trigger
Posted by Cic on 13-06-2015 16:12
CREATE OR REPLACE FUNCTION f1 RETURNS boolean AS $$
DECLARE

r boolean;
x1 correntista.max_prelievo%TYPE;
x2 prelievo.prelievo TYPE;
c1 CURSOR FOR SELECT prelievo FROM prelievo WHERE idcorrentista=$1;

Ciao a tutti, sottopongo alla vostra attenzione il seguente trigger. E' un quesito di un tema d'esame del 2004, al quale si deve scegliere la risposta corretta tra queste 4:

A) f1 restituisce error se il correntista $1 non è presente nella base dati.
B) f1 restituisce error se il correntista $1 non ha prelevato somme.
C) f1 restituisce true se il correntista $1 ha prelevato somme non superiori
a max_prelievo.
D)f1 restituisce false se il correntista $1 non ha prelevato somme.

Vorrei sapere se anche secondo voi la risposta esatta è la D.

BEGIN
SELECT max_prelievo INTO x1 FROM correntista WHERE correntista=$1;
r=false;
OPEN c1;
LOOP
FETCH c1 INTO x2;
IF NOT FOUND THEN
EXIT;
END IF;
IF x1>x2 THEN
RETURN r;
END IF;
END LOOP;
CLOSE c1;
r=true;
RETURN r;
END;
Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited