Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Печать накладной в форме внутреннего учета : Супермаг Плюс (Супермаг 2000)

29.03.2024 4:14


26.09.2011 13:08
Mtirt
 
Цитата:
Dim может получиться ситуация, когда в SMStoreUnits нет артикула, а в SMForeignUnits есть
И что? Главное, чтобы в smcard был...
26.09.2011 13:09
artyom
 
Даже если в базе нет локальных артикулов?
26.09.2011 13:09
artyom
 
Цитата:
Mtirt И что? Главное, чтобы в smcard был...
Согласен
29.09.2011 13:05
artyom
 
Цитата:
Mtirt В этом запросе надо все поля перечислять:
Код:
insert into SMStoreUnits ( BARCODE,
  BARCODETYPE,
  UNITNAME,
  ARTICLE ,
  QUANTITY,
  FACEQUANTITY,
  FLAGS,
  SUBARTICLE,
  BOXID) 
select BARCODE,
  BARCODETYPE,
  UNITNAME,
  ARTICLE ,
  QUANTITY,
  FACEQUANTITY,
  FLAGS,
  SUBARTICLE,
  BOXID
from SMForeignUnits ;
commit;
Да еще надо убедиться, что штрих-кодов из SMForeignUnits нет в SMStoreUnits
Думаю к данному выражению стоит перед строкой commit добавить
where article in (select article from SMForeignUnits);
29.09.2011 13:13
Mtirt
 
Зачем?
Ты и так выбираешь записи только из SMForeignUnits.
29.09.2011 14:35
artyom
 
При использовании выражения в исходном виде появляется ошибка:

ошибка в строке 1:
ORA-00001: нарушено ограничение уникальности (SUPERMAG.SMCBARCODE_PK)

Если добавить where article='*****' insert выполняется без ошибок.
29.09.2011 14:42
Mtirt
 
Вообще, твоя ошибка означает просто, что такой штрих-код уже есть в SMStoreUnits, и поэтому добавить его не удастся...


И думаю, что то, что добавляется без ошибок не вставляет ни одной строчки.

Если уж очень хочешь условие, лучше сделай так:
Цитата:
insert into SMStoreUnits ( BARCODE,
BARCODETYPE,
UNITNAME,
ARTICLE ,
QUANTITY,
FACEQUANTITY,
FLAGS,
SUBARTICLE,
BOXID)
select BARCODE,
BARCODETYPE,
UNITNAME,
ARTICLE ,
QUANTITY,
FACEQUANTITY,
FLAGS,
SUBARTICLE,
BOXID
from SMForeignUnits where BARCODE not in (select BARCODE from SMStoreUnits);
commit;
29.09.2011 14:50
artyom
 
Спасибо попробую!
Часовой пояс GMT +3, время: 04:14.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.