CREATE OR REPLACE FUNCTION ajout_typp_dept ( ) RETURNS VOID AS $$
DECLARE
v_idauth INTEGER;
v_idtype INTEGER;
v_iddept INTEGER;
v_type typepersonne.typp_libelle%TYPE;
v_dept departements.dept_nom%TYPE;
BEGIN
-- Récupération du type de la personne
v_type := 'Candidat';
SELECT typp_libelle INTO v_type FROM typepersonne WHERE typp_libelle = v_type; -- idem pour Recruteur
-- Récupération du département de la personne
v_dept := '24'; -- idem pour le 87
SELECT dept_nom INTO v_dept FROM departements WHERE dept_nom = v_dept;
-- Ajout dans la table AUTHENTIFICATION
INSERT INTO authentification (auth_id, auth_login, auth_password, auth_dtecreation, dtelastconn, auth_actif)
VALUES ((SELECT COALESCE (MAX(auth_id),0) + 1 FROM authentification), 'transact','PLkHDS3', CURRENT_DATE, CURRENT_DATE, 1)
RETURNING (auth_id) INTO v_idauth;
-- Ajout dans la table PERSONNES
INSERT INTO personnes (pers_id, pers_nom, pers_prenom, pers_dtenaissance, pers_adresse1, pers_adresse2,
pers_cp, pers_ville, pers_telephone, pers_fax, pers_gsm, pers_email, pers_idauth, pers_idtype,pers_iddept)
VALUES ((SELECT COALESCE (MAX(pers_id),0) + 1 FROM personnnes), 'GENIN','Vincent', date(21/12/1984), '31, Route de Treillissac',
'', '24000', 'Treillissac', '0547253210', '', '0652497510', 'v.genin@netscape.net', v_idauth, v_type, v_dept);
COMMIT;
END;
$$LANGUAGE plpgsql;
Partager