У меня есть демонстрационная таблица
CREATE TABLE items (
id SERIAL primary key,
user_id integer,
name character varying,
created timestamp with time zone default now()
);
И я хочу, чтобы один запрос выполнялся и сначала вставлял данные, затем возвращал первичный ключ, используя возвращаемый идентификатор, и затем обновлял ту же таблицу с возвращенным идентификатором.
INSERT INTO items (name) values ('pen') RETURNING id as idd
update items set user_id=(select idd) where id=(select idd)
но приведенная выше команда не работает и выдает синтаксическую ошибку. Любая помощь будет оценена.