...
Sinon orafrance, j'ai essayé d'utilisé monC%ROWCOUNT comme ceci :
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
|
CREATE OR REPLACE FUNCTION EmpecheVote (loginUtil IN CLIENT.login%type) RETURN INTEGER IS
BEGIN
DECLARE
presant INTEGER;
i INTEGER;
k INTEGER;
temp DATE;
CURSOR monC IS SELECT DateNote FROM TempIndFilm WHERE loginNoteur = loginUtil;
TYPE TableDate IS Table Of DATE INDEX BY BINARY_INTEGER;
tabdate TableDate;
BEGIN
presant:=-1;
k:=0;
i:=0;
IF monC%ROWCOUNT IS NULL THEN
presant:=0;
ELSE
FOR elt in monC
LOOP
tabdate(i):=TO_DATE(elt.DateNote);
i:=i+1;
END LOOP;
temp:=tabDate(0);
FOR i IN 1..tabdate.COUNT() -1
LOOP
IF tabdate(i) > temp THEN
temp:=tabdate(i);
END IF;
END LOOP;
IF (SYSDATE - temp>1) THEN presant:=1;
END IF;
END IF;
return presant;
END;
END EmpecheVote;
/ |
A l'éxécution avec Eclipse, j'ai une éxception qui est levée: "curseur non valide" à la ligne du ROWCOUNT.
Partager