Различия
Здесь показаны различия между двумя версиями данной страницы.
— |
администрирование:скрипты:цбд:юл:обновление.основного.прикрепления [2019/07/04 08:15] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Обновление основного прикрепления ====== | ||
+ | <code sql> | ||
+ | execute block | ||
+ | /* | ||
+ | * Скрипт обновления основного прикрепления в карточке, | ||
+ | * если у пациента указано несколько основных прикреплений | ||
+ | * | ||
+ | * Автор Коробка А.А. | ||
+ | */ | ||
+ | as | ||
+ | -- | ||
+ | declare pcode type of column clients.pcode; | ||
+ | declare histid type of column clhistnum.histid; | ||
+ | begin | ||
+ | for select c.pcode from clients c | ||
+ | join clhistnum cl on cl.pcode=c.pcode | ||
+ | group by c.pcode | ||
+ | having sum(mainjid)>1 | ||
+ | into pcode do | ||
+ | begin | ||
+ | update clhistnum set mainjid=0 where pcode= :pcode; | ||
+ | -- | ||
+ | histid = null; | ||
+ | select first 1 histid from clhistnum c | ||
+ | where coalesce(c.datecancel, c.fdate, current_timestamp)>current_date and pcode= :pcode | ||
+ | into histid; | ||
+ | update clhistnum set mainjid=1 where histid= :histid; | ||
+ | -- | ||
+ | end | ||
+ | end | ||
+ | </code> |