Re: SQL problem: bank account

Поиск
Список
Период
Сортировка
От Sean Chittenden
Тема Re: SQL problem: bank account
Дата
Msg-id 20030602062137.GD65470@perrin.int.nxad.com
обсуждение исходный текст
Ответ на SQL problem: bank account  ("Erik G. Burrows" <eburrows@erikburrows.com>)
Список pgsql-sql
> It seems to me this is a simple problem, but the solution eludes me.
>
> I have a table:
> 
> bank_account (
>   transaction_id int not null serial,
>   customer_id int not null references customer(id),
>   ts timestamp not null default now(),
>   amount float not null,
>   balance float not null,
>   primary key(transaction_id)
> )
> 
> I need to get the most recent transaction for each customer. I need only
> the transaction ID, but the entire row would be best.

For the sake of being explicit, change your table definition (though
what you have above is a-okay and works):

CREATE SEQUENCE transaction_id_seq;
CREATE TABLE bank_account ( transaction_id int not null DEFAULT NEXTVAL('transaction_id_seq'::TEXT), customer_id int
notnull references customer(id), ts timestamp not null default now(), amount float not null, balance float not null,
primarykey(transaction_id)
 
);

Once you insert a value into the bank_account table, SELECT
CURRVAL('transaction_id_seq') will be what you're looking for.  Read
up on CURRVAL() at:

http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=functions-sequence.html

-sc

-- 
Sean Chittenden


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Andrew J. Kopciuch"
Дата:
Сообщение: Re: SQL problem: bank account
Следующее
От: "listrec"
Дата:
Сообщение: Re: SQL problem: bank account