plpgsql update row from record variable

Поиск
Список
Период
Сортировка
От Seamus Abshere
Тема plpgsql update row from record variable
Дата
Msg-id 1459645633.3419203.567021586.72834A9C@webmail.messagingengine.com
обсуждение исходный текст
Ответы Re: plpgsql update row from record variable  (Adrian Klaver <adrian.klaver@aklaver.com>)
Список pgsql-general
hi,

I want to write a function that updates arbitrary columns and here's my
pseudocode:

CREATE OR REPLACE FUNCTION update_pet(id int, raw_data jsonb) RETURNS
VOID AS $$
DECLARE
  data record;
BEGIN
  SELECT jsonb_populate_record(null::pets, raw_data) INTO data;
  UPDATE pets [... from data ...] WHERE id = id; -- probably impossible
END;
$$ LANGUAGE plpgsql;

e.g.

SELECT update_pets(1, '{ "name" : "Jerry", "age": 9 }'::jsonb);

Back in 2004, Tom showed how to insert from a plpgsql record:

http://www.postgresql.org/message-id/17840.1087670348@sss.pgh.pa.us

Is there any way to "update *" from a record?

Thanks!
Seamus

PS. Whether I **should** do this is another matter, I just want to know
if it's possible.

--
Seamus Abshere, SCEA
https://github.com/seamusabshere
http://linkedin.com/in/seamusabshere


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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: how to regenerate pg_control file ?
Следующее
От: Soni M
Дата:
Сообщение: CORRUPTION on TOAST table