Нужен апдейт поля

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Нужен апдейт поля

Сообщение igova »

Добрый день.

Просьба помочь с апдейтом.
Последний раз редактировалось igova 21 фев 2018, 22:34, всего редактировалось 1 раз.
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен Update поля в KATOS

Сообщение igova »

В саппорте не отрабатывает запрос:

Update KATOS
set KatOs.cInSpOrder = SPORDER.nrec
from katos, sporder, katsopr, sklorder
where KATOS.nrec = SPORDER.CSPORDER AND KATSOPR.nrec = SKLORDER.csopr AND SKLORDER.nrec = SPORDER.CSKLORDER AND KatOs.innum = KATSOPR.NAME AND KATSOPR.VIDSOPR = '101';

Что не так?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Нужен Update поля в KATOS

Сообщение Den »

если платформа не первасив, то можно через прямой скуль( контструкция sql update) попробовать тоже самое.
Ну может еще в set двоеточие добавить перед =
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен Update поля в KATOS

Сообщение igova »

Нашел ошибку - одна связь была с пустым полем - удалил.
Все отработало.
Update KATOS
where KatOs.innum = KATSOPR.NAME AND KATSOPR.nrec = SKLORDER.csopr AND SKLORDER.nrec = SPORDER.CSKLORDER
set KatOs.cInSpOrder := SPORDER.nrec;

Обновляет только одну запись в таблице.

Как правильно зациклить?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Нужен Update поля в KATOS

Сообщение m0p3e »

Есть старый проверенный способ.

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

select ('update katos where nrec='+katos.nrec+' set katos.cInSpOrder:='+Sporder.nrec+';') from KATOS,SpOrder
where KatOs.innum = KATSOPR.NAME AND KATSOPR.nrec = SKLORDER.csopr AND SKLORDER.nrec = SPORDER.CSKLORDER
set KatOs.cInSpOrder := SPORDER.nrec to txt c:\UpdateKatos.lot;
Не проверял. Запрос приведен только для передачи сути идеи.
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен Update поля в KATOS

Сообщение igova »

m0p3e писал(а):Есть старый проверенный способ.

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

select ('update katos where nrec='+katos.nrec+' set katos.cInSpOrder:='+Sporder.nrec+';') from KATOS,SpOrder
where KatOs.innum = KATSOPR.NAME AND KATSOPR.nrec = SKLORDER.csopr AND SKLORDER.nrec = SPORDER.CSKLORDER
set KatOs.cInSpOrder := SPORDER.nrec to txt c:\UpdateKatos.lot;
Не проверял. Запрос приведен только для передачи сути идеи.
Последний раз редактировалось igova 21 фев 2018, 22:29, всего редактировалось 1 раз.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Нужен Update поля в KATOS

Сообщение Den »

Проблема в способе указаний связей между таблами

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


select ('update katos where nrec='+katos.nrec+' set katos.cInSpOrder:='+Sporder.nrec+';')
  from KATOS,SpOrder,Sklorder,Katsopr
 where ((
             KATOS.CINSPORDER ==  SPORDER.nrec
        and SPORDER.CSKLORDER ==  SKLORDER.nrec
        and  SKLORDER.csopr    ==  katsopr.nrec
       ))
    and katsopr.name = katos.innum
     to txt c:\UpdateKatos.lot
  ;


m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Нужен Update поля в KATOS

Сообщение m0p3e »

set забыл убрать.
В результате выполнения получаем готовый лот с построчным обновлением.
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен Update поля в KATOS

Сообщение igova »

Ничего не выгружается - файл пустой.
В базе katos.cInSpOrder тоже пустой
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен Update поля в KATOS

Сообщение igova »

Set убирал. Очень долго 'висит' запрос. Не выполняется.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Нужен Update поля в KATOS

Сообщение m0p3e »

Значит запрос изначально неправильный.
Отлаживайте.
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен апдейт поля

Сообщение igova »

Хм... Но одну запись то обновляет, если убрать select.
Последний раз редактировалось igova 21 фев 2018, 22:35, всего редактировалось 1 раз.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Нужен Update поля в KATOS

Сообщение Den »

В ночи кнч не то написал.
KATOS.CINSPORDER == SPORDER.nrec не то конечно.

непонятно все же связь по KATOS.nrec = SPORDER.CSPORDER имеет место быть или нет . Если да, то заменить нужно на это
или только критерий связи неявный katsopr.name = katos.innum ?

И не ответили, как платформа у Вас
igova
Новичок
Сообщения: 27
Зарегистрирован: 05 июн 2014, 18:23

Re: Нужен Update поля в KATOS

Сообщение igova »

Критерий связи не явный katsopr.name = katos.innum . Платформа оракл. Но выполнить нужно через саппорт.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Нужен Update поля в KATOS

Сообщение Den »

а у Вас всегда что ли в накладных таких одна спецификация ?
просто если не одна, то будет множественная связь и фигня тут будет KatOs.cInSpOrder := SPORDER.nrec
Ответить