Comment faire un autoincremente
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:
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'; |
Code:
1 2 3
| CREATE TRIGGER trig_bef_ins_client BEFORE INSERT ON client
FOR EACH ROW
EXECUTE PROCEDURE gen_cle_client(); |
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 ?
Merci
PoichOU