powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перебор полей в Record
6 сообщений из 6, страница 1 из 1
Перебор полей в Record
    #33311092
bjohny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Код: 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
Перебор полей в Record
    #33314043
bjohny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или как преоюразовать record в text
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перебор полей в Record
    #38923028
qjrctkm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[оживлю трупик]

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

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

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

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

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

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

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


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


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