[pgsql-jp: 35103] Re: シーケンス値の設定
Sato_Kenichi
satok-point @ mf.point.ne.jp
2005年 3月 24日 (木) 01:52:13 JST
さとうと申します。
>以前、select setval('hoge_id_seq', max(id)) from hoge;
>または、select setval('hoge_id_seq', (select max(id)+1 from hoge));
>のような書式が使えたような気がしたのですが、
>PostgreSQL 8.0.1では使えなくなってしまったのでしょうか???
手元の PostgreSQL 8.0.1 で試してみましたが、ちゃんと使えるようです。
そのSQLを実行すると、どんなエラーメッセージが出るのでしょうか?
---
佐藤 研一
E-Mail: satok-point @ mf.point.ne.jp
▼▼以下実行ログ▼▼
template1=# select version();
version
---------------------------------------------------------------
PostgreSQL 8.0.1 on i586-pc-linux-gnu, compiled by GCC 2.95.3
(1 row)
template1=# create table test (id int4);
CREATE TABLE
template1=# create sequence hoge_id_seq;
CREATE SEQUENCE
template1=# insert into test values(1);
INSERT 2736621 1
template1=# insert into test values(100);
INSERT 2736622 1
template1=# commit;
COMMIT
template1=# select setval('hoge_id_seq', max(id)) from test;
setval
--------
100
(1 row)
template1=# select setval('hoge_id_seq', (select max(id)+1 from test));
setval
--------
101
(1 row)
template1=# select nextval('hoge_id_seq');
nextval
---------
102
(1 row)
template1=#
pgsql-jp メーリングリストの案内