Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перебор полей в Record / 6 сообщений из 6, страница 1 из 1
07.10.2005, 11:33
    #33311092
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перебор полей в Record
Привет.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
declare cd_tmp record;
begin
......
for cd_tmp in select * from test loop

end loop;
...
Необходимо перебрать все поля в record(не зная имени поля), как это сделать???
...
Рейтинг: 0 / 0
10.10.2005, 09:45
    #33314043
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перебор полей в Record
Или как преоюразовать record в text
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
31.03.2015, 18:00
    #38923028
qjrctkm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перебор полей в Record
[оживлю трупик]

а что, кроме обхода hstore, или, напротив, plperl -- ничего нового ?

доколе ?
...
Рейтинг: 0 / 0
31.03.2015, 18:47
    #38923077
record::text
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перебор полей в Record
qjrctkm,

не понятно, зачем привлекать перл для разбора пл-record.
обрабатывать безымянные поля скопом можно только приведя их к общему типу, отсюда очевидное решение.
...
Рейтинг: 0 / 0
31.03.2015, 19:10
    #38923093
qjrctkm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перебор полей в Record
record::text,

где вы прочитали, что нужно перелопачивать безымянные поля ?

нужно перебрать семейство полей.
точка.
не сказано -- что перебрать без имен.

каст в текст -- и мы все их теряем.
hstore тут много более комфортен.
и сахарист.

просто мне предстоит строчить экономную кладку ивентов. из произвольных таблиц. потому надо перебирать поля NEW.* OLD.* TG_TABLE_NAME-а на предмет изменчивости в событии. -- решил проверить, что ничего нового в plpgsql нам досель не дадено. [и возопить банальное "доколе"]


да, а читать системные -- не спортивно.
да и скучно, на 12 году знакомства с .
...
Рейтинг: 0 / 0
31.03.2015, 19:51
    #38923119
неёхель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перебор полей в Record
qjrctkmне сказано -- что перебрать без имен.Оригинальный автор желал перебрать "не зная имени".
Разложить через Х-склад, J-сынов или динамику не проблема. Но в чем смысл перебора, только сравнить old и new, потом отображать значение в гуе? Чем так критично текстовое сравнение и чем упомянутый hstore с тем же текстом более комфортен?
Тем с универсализацией триггеров отслеживания изменений масса. Причем всегда остаются уникальные для системы прикладные мелочи, типа не учитывать поле modified_time, не сохранять значение password, не учитывать при сравнении повторяющиеся пробелы или null и 0, не сравнивать блобы, так как с файлом приложением сохраняется хеш,... Триггер в результате вынужден полагается на прикладные метаданные, а с их привлечением plgsql-динамика становится наиболее оправданным подходом. Или динамическая генерация неуниверсального триггера.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перебор полей в Record / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]