[pgsql-jp: 33338] Re: Webアプリケーションからのシーケンス操作

Takanori Oba oba @ uchida.co.jp
2004年 6月 22日 (火) 17:05:35 JST


大羽です。

老婆心ながら。

----- Original Message ----- 
From: "Fumiki Kawabata" <kawabata @ cc.wakwak.com>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Tuesday, June 22, 2004 4:23 PM
Subject: [pgsql-jp: 33330] Re: Webアプリケーションからのシーケンス操作

> nextval() 等が存在するのはわかるのですが、
> これをpsql等で使用するなら問題ないのです。
>
> select nextval('foo');
>
> こういう構文は、coldfusion中では値を取得して来れません
> (というかエラーです)。

要件によりけりだと思うのですが、

1. 単に次の番号を取り出したい(カウントアップしない)
2. 次の番号を取り出し、カウントアップする

のどちらをお望みなのかによって、実現方法が異なります。

ふくとめさんの仰った、

> > SELECT "last_value" FROM "table_column_seq";
>
> の記述で、無事値を取得できました。

は 1 の為の手段であり、このクエリを何度実行しても自動採番される
(カウントアップされる)ことはありません。
2 をお望みであれば、nextval()を呼び出す必要があるかと。

ColdFusionが出力した「構文エラー」が何を指すかわかりませんが、
(ColdFusionについては全く知りません)
FROM句が無くて怒られているのであれば、Oracleのdualに該当する
適当なダミーテーブルを作ってFROM句で使うようにするとか。

-----
oba @ uchida.co.jp




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