[pgsql-jp: 35854] シーケンスが生成した値の取得

world tower world_tower @ hotmail.com
2005年 8月 17日 (水) 13:03:21 JST


world_towerと申します。

ある表で主キーとなる列の値をシーケンスで生成しています。
この表に主キーを指定せずにインサートします。
このとき、インサートされた行の主キーの値を知りたいのですが、
よい方法はないでしょうか?

<例>

# \d t_sq_test
                        Table "public.t_sq_test"
 Column |       Type        |                 Modifiers
--------+-------------------+-------------------------------------------
 id     | integer           | not null default nextval('sq_test'::text)
 name   | character varying |
Indexes: t_sq_test_pkey primary key btree (id)
# insert into t_sq_test (name) values ('b');
INSERT 140083 1


方法として、主キー以外の列を条件として検索するやり方を考えたのですが、
一意に特定できない場合があります。

<例>

point_out=# select * from t_sq_test where name = 'b';
 id | name
----+------
  2 | b
  4 | b
(2 rows)


良い方法をご存知の方がいらっしゃいましたら、ご教授願います。





pgsql-jp メーリングリストの案内