web-dev-qa-db-ja.com

postgresqlテーブルに新しいレコードを挿入しながらシーケンスを呼び出す方法は?

テーブルに新しい行を挿入しながらpostgresqlシーケンスを呼び出す方法は?

このようなことをしたい

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


);

これをどのように考えますか? biz_termテーブルに新しいレコードを挿入しようとすると、sequence -idsequenceが直接呼び出されないため、これを実行したいのですが、解決策はありますか?

47
Rajesh

あなたはほとんどそれを得た。そこにSELECTは必要ありません:

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

Biz_term_idを自動的に処理するserial(またはbigserial)として指定しなかった理由は何ですか?

90