Bonjour à tous et à toutes,

Actuellement, j'écris mon premier script PL/pgSQL, le but de ce script est le suivant :

-- Ecrire un code PL/pgSQL qui permettra de rajouter 2 personnes
-- un recruteur du département 87
-- un candidat du département 24

La requête s'execute correctement, mais ne renvoie aucun résultat, ce qui est normal.
Par contre lorsque je tape un ordre SQL à la suite du script pour récupérer mes tuples, je
n'en récupère aucun.

a) J'ai crée une procédure, dc elle ne renvoie pas de valeur. Aurait-il fallu créer une fonction?
Mais quelles seraient ses paramètres et le type de retour?

b) Pourquoi ne peut on pas mettre comme type de retour nomdelatable%ROWTYPE pour récupérer
l'ensemble des valeurs de la ligne.

Voici l'ensemble du code :

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;
Merci d'avance, car je ne m'en sort pas.
Transact.