2012-08-08 15 views
32

Wie wird die Postgresql-Sequenz beim Einfügen einer neuen Zeile in eine Tabelle aufgerufen?wie Sequenz beim Einfügen neuer Datensatz in PostgreSQL-Tabelle aufrufen?

Ich möchte so etwas wie dieses

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


); 

tun, wie dies eine Idee zu tun? Ich möchte es tun, denn wenn ich versuche, einen neuen Datensatz in die Tabelle "biz_term" einzufügen, wird die Sequenz "-idsequence" nicht direkt aufgerufen.

Antwort

62

Sie haben es fast. Sie brauchen nicht die SELECT drin:

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

Irgendwelche Gründe, die Sie nicht die biz_term_id als serial angegeben haben (oder bigserial), die für Sie, dass automatisch behandelt?

Verwandte Themen