powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / FIFO в Postgress
5 сообщений из 5, страница 1 из 1
FIFO в Postgress
    #33215060
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет. Поиск к сожалению не пашет. Кто как делает что -нть типа ФИФО (разноска величин одной таблы по величинам другой/(нескольких других) с условиями)? Насколько я помню, курсоры в посгре какие-то не файндовые, т.ч. я пока делаю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
	FOR rec IN 
		SELECT *  FROM "xxx"
		WHERE xxxxxxx
		ORDER BY xxx_date
	LOOP

	кучка SQL выражений к другой таблице с разборкой условий,
	и выставкой переменных
	END LOOP;
кажется было бы быстрее прямо открыть и второй курсор - по таблице, записи которой "разносим" по записям первой (упорядоченный по набору полей), и бегать по нему неким быстрым поиском (по условию порядка), но похоже он (т.е. поиск) не реализован в постгрес? (или я вру?). Опять таки FETCH direction count , (которым можно бы было пытаться организовать что-то похожее на быстрый поиск) насколько я помню обсуждение, не работает в plpgSQL.

заранее спасибо.
...
Рейтинг: 0 / 0
FIFO в Postgress
    #33215422
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык што, нихто не делает расчет фифей в палёте? Чиста на триггерах? С обработкой правок задним числом (т.е. - массовыми апдейтами)? Даже на набольших объемах первички?

Просто интересен опыт и преимущественно применяемые методики. Черканите хотя-бы для статистики.



ЗЫЗЫ. Если не понятна постановка задачи, то примерно такая модель
Факты:

1. отгрузки:
даты
контрагенты
1.1.товары отгрузок:
товары
кол-ва
цены (- опцион, вообще-то цены из 3. Прайсы (даты,товары))

2. Платежи
даты
контрагенты
суммы

(3. Прайсы )

4. Отягчающие условия (кредитные линии,штрафы, пени, периоды оплаты и т.п.)
Задача - рассчитывать "погашенные" 2 (и могабыть иными способами) отгрузки 1. с учтетом условий 3. "на лету" (полностью на лету или посредством триггерных подсчетов непогашенных остатков). Очень хочется узнать, что предпочтительней с вашей т.з. и почему.
...
Рейтинг: 0 / 0
FIFO в Postgress
    #33217692
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ап!
идеи пока еще рассматриваюца.
(просьба таки не стесняца)
...
Рейтинг: 0 / 0
FIFO в Postgress
    #33217819
Meta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321Дык што, нихто не делает расчет фифей в палёте?
Что такое фифо представляю. А что такое фифо в палёте с трудом :)

4321Чиста на триггерах?
С обработкой правок задним числом (т.е. - массовыми апдейтами)? Даже на набольших объемах первички?
Тут если можно, поподробнее...
...
Рейтинг: 0 / 0
FIFO в Postgress
    #33217868
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Meta 4321Дык што, нихто не делает расчет фифей в палёте?
Что такое фифо представляю. А что такое фифо в палёте с трудом :)
в палёте - значица не хранить текущей дельты по разноске сумм одной таблицы на другую (или вообще таблицы разноски - что более громоздко), а считать от некоторых реперных точек - точек подсчета "промежуточного балланса" на любой вызов
Meta 4321Чиста на триггерах?
С обработкой правок задним числом (т.е. - массовыми апдейтами)? Даже на набольших объемах первички?
Тут если можно, поподробнее...Да че уж проще - хранить остатки/признаки "погашения" на _каждой_ записи 1-й таблицы (или еще как, но на каждый момент времени - например в таблице разноски id1,id2,sum), и при необходимости сделать правку задним числом в 1 или 2 (или 3-4) - пересчитывать все с предыдущей вставке "реперной точки" так же как "в палёте", но только с апдейтом (физ переписью) всех записей таблицы1 (или "разноски").
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / FIFO в Postgress
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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