web-dev-qa-db-fra.com

comment invoquer une séquence tout en insérant un nouvel enregistrement dans la table postgresql?

Comment appeler la séquence postgresql lors de l'insertion d'une nouvelle ligne dans une table?

Je veux faire quelque chose comme ça

insert into biz_term(
  biz_term_id, 
  biz_term_name, 
  ) 
values(SELECT nextval(idsequence)',
'temp'


);

Comment faire ça une idée? Je veux le faire parce que lorsque j'essaie d'insérer un nouvel enregistrement dans la table biz_term, la séquence -idsequence n'est pas invoquée directement .. une solution?

47
Rajesh

Vous l'avez presque. Vous n'avez pas besoin du SELECT ici:

insert into biz_term(
  biz_term_id, 
  biz_term_name, 
) 
values(
 nextval('idsequence'),
 'temp'
);

Des raisons pour lesquelles vous n'avez pas spécifié le biz_term_id comme serial (ou bigserial) qui gère cela automatiquement pour vous?

90