Bonjour,
je n'ai pas l'habitude d'utiliser PostreSQL et je cherche le moyen de faire l'équivalent d'un autoincremente. J'ai cherché sur internet et j'ai vu plusieurs possibilité (en passant à chaque fois par un trigger). Des fois il est marqué de passer par une fonction et des fois par une sequence. Quelle est la meilleure façon de faire ?
Perso je pense que c'est par une sequence mais je n'ai pas trouvé de code expliquant comment faire.
J'ai bien trouvé ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE FUNCTION gen_cle_client () RETURNS OPAQUE AS ' DECLARE nocli integer; BEGIN select into nocli max(no_client) from client; IF nocli ISNULL THEN nocli:=0; END IF; NEW.no_client:=nocli+1; RETURN NEW; END; ' LANGUAGE 'plpgsql';mais je n'ai pas le language 'plpgsql' de déclaré. Je souhaiterai faire la même chose avec le language 'sql'. Pouvez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE TRIGGER trig_bef_ins_client BEFORE INSERT ON client FOR EACH ROW EXECUTE PROCEDURE gen_cle_client();
Merci
PoichOU
Partager