Страница 1 из 1

размножение карточек

Добавлено: 09 июн 2006, 17:04
evgem
В основных средствах есть групповые карточки, где количество больше единицы. Как организовать SQL запрос, чтобы размножить эти карточки и сделать их с количеством 1?

Добавлено: 10 июн 2006, 11:05
Hmyrii
Во первых зачем? это черевато последствиями. Ведь к ОС привязано куча разных таблиц с доп инфой, и там тоже придется дублировать и плодить эти записи, ведь у клонов ОС уже будут свои значения в Nrec-ках. Во вторых галактический SQL не потянет такой скрипт. Если в самом деле не в терпежь то можно сделать просто. Перегнать карточким где количество больше еденице, примерно так

Код: Выделить всё

table struct my_table
(
...
)
with index
(
...
);
insert my_table(field1, field2 ......)
select KatOs.KOl,  ..........
from KatOs, SpKatOs, MoveOs, SpMoveOs .........
where
((
       double(2)    <<= KatOs.Kol  
 and KatOs.Nrec    == SpKatOs.cKatOs 
// остольная связка
));
потом делаешь _loop my_table и плодишь свои карточки

Код: Выделить всё

_loop my_table
{
  ClearBuffer(#KatOs); 
  KatOs.KOl := ...;
  ...
  ...
  insert KatOs
  // тоже для остольных таблиц
}