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
| Le boulet :(
Désolé de vous déranger pour une connerie pareille lol
CREATE OR REPLACE FUNCTION GetCouleur (pMdtId IN MDT.MDTID%TYPE) RETURN VARCHAR2 IS
sResult VARCHAR2(15000) := '';
sMdtId INTEGER;
-- Declaration du cursor qui va contenir la liste des mandats
CURSOR cur_couleur(pmdtid IN INTEGER) IS
SELECT DISTINCT MDT.MDTID,MDT.MDTDATFIN FROM MDT
WHERE MDTID = pMdtId
OR MDTIDINI = pMdtId
AND MDT.MDTDATFIN < SYSDATE
ORDER BY MDT.MDTDATSIG, MDT.MDTID;
BEGIN
sMdtId := pMdtId;
FOR cur IN cur_couleur(sMdtId)
LOOP
IF(cur.MDTDATFIN < SYSDATE)
THEN sResult := cur.mdtid
END IF;
IF( cur.MDTDATFIN <= LAST_DAY(SYSDATE) AND cur.MDTDATFIN >= SYSDATE)
THEN sResult := 'V' ;
END IF;
END LOOP;
RETURN sResult;
END; |