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

Как убрать дупликаты во временной таблице???

Добавлено: 24 янв 2013, 10:45
agrail
Имеется временная таблица с водителями temprcons. в ней поля mcname,nrec. Как удалить из нее повторяющихся водителей с одинаковыми mcname и nrec???????????????

Re: Как убрать дупликаты во временной таблице???

Добавлено: 24 янв 2013, 12:34
RAJAH
Завести уникальный индекс mcname+mnrec в таблице, чтобы дубликаты даже не возникали.

Re: Как убрать дупликаты во временной таблице???

Добавлено: 24 янв 2013, 20:53
Алексей
таблицу наполняете сами? делать гетферст по нреку (создайте индекс) и проверяйте. добавляйте только если такой записи не найдено.

Re: Как убрать дупликаты во временной таблице???

Добавлено: 25 янв 2013, 11:23
agrail
Спасибо! да сам наполнял

Re: Как убрать дупликаты во временной таблице???

Добавлено: 25 янв 2013, 14:00
mwoland
при заполнении временных таблиц без дубликатов использую подобный код:

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

table struct tt (
  crec: comp
) with index (
  i01 = crec (unique)
);
...
procedure filltable; {
  insert tt (crec)
  select spsopr.cmcusl
  from spsopr
  where ((1 /== spsopr.prmc)) ignore_errors(tsDuplicateKey);
}
в таблице tt будут все упоминающиеся в спецификациях накладных ссылки на матценности без повторения, т.к. индекс таблицы unique и игнорируются ошибки при несоблюдении уникальности ignore_errors(tsDuplicateKey). работает побыстрее, чем куча гетфёстов имхо.

Re: Как убрать дупликаты во временной таблице???

Добавлено: 29 янв 2013, 06:33
Алексей
а сообщения об ошибках в таблице по индексу не замучают? обычно же гал-ка ругается. или это только на физ таблицы?