Re: [SQL] variables in pgSQL?

Поиск
Список
Период
Сортировка
От Chris Bitmead
Тема Re: [SQL] variables in pgSQL?
Дата
Msg-id 378AAEB1.D3EC3F0F@tech.com.au
обсуждение исходный текст
Ответ на variables in pgSQL?  (Heinz Hemken <zotz@franchiseloan.com>)
Список pgsql-sql
CREATE SEQUENCE id_seq;

INSERT INTO masterindex_table(user_id, name) SELECT nextval('id_seq'),
'Mr Foo' from masterindex_table where 12345 not in (SELECT user_id from
masterindex_table);

This will create a new record in masterindex_table only if the id 12345
is not already existing. All in one SQL command!

Heinz Hemken wrote:
> 
> The following is legal in MS SQL:
> 
> declare @user_id int
> select @user_id = user_id from masterindex_table where masterindexid = 1
> 
> whereupon the local variable can be used for other things. Is there
> anything similar in pgSQL? I want to have a user table for a web
> database, and I want to be able to do a begin/commit block where I 1)
> check to see if the user exists in an account table, 2) if not, get the
> next available userid from a master index table, 3) add a new userid to
> the account table for the new user, and 4) increment the userid field in
> the master index table. I want this to occur all within a single
> transaction block so that no race conditions exist, and the masterindex
> table is only being used by one process at a time for the whole
> operation.
> 
> How can I do this in postgresql? Is there a better approach?
> 
> --
> Heinz Hemken
> IFC Capital Corporation
> San Diego, C


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

Предыдущее
От: Heinz Hemken
Дата:
Сообщение: variables in pgSQL?
Следующее
От: Steven Bradley
Дата:
Сообщение: create temp table