Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> преобразовать два массива к объекту 
V
    Опции темы
dipsy
Дата 27.2.2014, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

Репутация: нет
Всего: нет



хочу сделать функцию вида:
Код
create function update_user( p_names varchar array, p_values varchar array)
в p_names лежат названия ключей
в p_values находятся значения

хочется из этих параметров сделать ассоциативный массив/объект/словарь/временную таблицу/hstore/что угодно,
чтобы можно было использовать в запросе вида:
Код
update user_table set user_nm=hstore->'user_nm' where user_id=hstore->'user_id';

PM MAIL WWW   Вверх
Алексей Аристов
Дата 14.3.2014, 10:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











функцию поиска по массиву взял здесь. А далее так
Код
DROP function IF EXISTS t1(
    p_names varchar[], p_values varchar[]
);
CREATE function t1(
    p_names varchar[], p_values varchar[]
) returns varchar as $$
declare
    f_c1 varchar;
BEGIN
    f_c1 = p_values[array_search('c1', p_names)];
    return f_c1;
END;
$$
language plpgsql;
select t1(array['c0', 'c1'], array[null, 'result']);


Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PostgreSQL | Следующая тема »


 




[ Время генерации скрипта: 0.0887 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.