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 38 39 40
| -- Function: biielevedemandecompetence_insertion(integer, integer, text)
-- DROP FUNCTION biielevedemandecompetence_insertion(integer, integer, text);
CREATE OR REPLACE FUNCTION biielevedemandecompetence_insertion(integer, integer, text)
RETURNS integer AS
$BODY$
/**DEBUT PROC**/
DECLARE
vIDUTILISATEUR ALIAS FOR $1 ;
vIDCOMPETENCE ALIAS FOR $2;
vJUSTIFICATION ALIAS FOR $3;
Result INTEGER ;
CurrentId int4;
datefin timestamp;
BEGIN
SELECT INTO datefin CURRENT_TIMESTAMP + dureedemande FROM biiconfig;
CurrentId=NEXTVAL('public.biielevedemandecompetence_id_seq'::text);
INSERT INTO biielevedemandecompetence (id, idutilisateur, idcompetence, datedemande, justification, datefindemande, etatdemande, dateresultat, max_validation, max_refus)
VALUES (CurrentId, vIDUTILISATEUR, vIDCOMPETENCE, now(), vJUSTIFICATION, datefin, 'D', null, biiconfig.nbvalidationdemande, biiconfig.nbmaxrefus);
GET DIAGNOSTICS Result := ROW_COUNT;
IF Result = 0 THEN
RETURN -1 ;
ELSE
RETURN CurrentId ;
END IF;
END
/**FIN PROC**/
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION biielevedemandecompetence_insertion(integer, integer, text) OWNER TO postgres;
GRANT EXECUTE ON FUNCTION biielevedemandecompetence_insertion(integer, integer, text) TO postgres;
GRANT EXECUTE ON FUNCTION biielevedemandecompetence_insertion(integer, integer, text) TO data; |
Partager