Нужен апдейт поля
Модераторы: m0p3e, edward_K, Модераторы
Нужен апдейт поля
Добрый день.
Просьба помочь с апдейтом.
Просьба помочь с апдейтом.
Последний раз редактировалось igova 21 фев 2018, 22:34, всего редактировалось 1 раз.
Re: Нужен Update поля в KATOS
В саппорте не отрабатывает запрос:
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';
Что не так?
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';
Что не так?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Нужен Update поля в KATOS
если платформа не первасив, то можно через прямой скуль( контструкция sql update) попробовать тоже самое.
Ну может еще в set двоеточие добавить перед =
Ну может еще в set двоеточие добавить перед =
Re: Нужен Update поля в KATOS
Нашел ошибку - одна связь была с пустым полем - удалил.
Все отработало.
Update KATOS
where KatOs.innum = KATSOPR.NAME AND KATSOPR.nrec = SKLORDER.csopr AND SKLORDER.nrec = SPORDER.CSKLORDER
set KatOs.cInSpOrder := SPORDER.nrec;
Обновляет только одну запись в таблице.
Как правильно зациклить?
Все отработало.
Update KATOS
where KatOs.innum = KATSOPR.NAME AND KATSOPR.nrec = SKLORDER.csopr AND SKLORDER.nrec = SPORDER.CSKLORDER
set KatOs.cInSpOrder := SPORDER.nrec;
Обновляет только одну запись в таблице.
Как правильно зациклить?
Re: Нужен Update поля в KATOS
Есть старый проверенный способ.
Не проверял. Запрос приведен только для передачи сути идеи.
Код: Выделить всё
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;
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 21 фев 2018, 22:29, всего редактировалось 1 раз.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Нужен Update поля в KATOS
Проблема в способе указаний связей между таблами
Код: Выделить всё
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
;
Re: Нужен Update поля в KATOS
set забыл убрать.
В результате выполнения получаем готовый лот с построчным обновлением.
В результате выполнения получаем готовый лот с построчным обновлением.
Re: Нужен Update поля в KATOS
Ничего не выгружается - файл пустой.
В базе katos.cInSpOrder тоже пустой
В базе katos.cInSpOrder тоже пустой
Re: Нужен Update поля в KATOS
Set убирал. Очень долго 'висит' запрос. Не выполняется.
Re: Нужен Update поля в KATOS
Значит запрос изначально неправильный.
Отлаживайте.
Отлаживайте.
Re: Нужен апдейт поля
Хм... Но одну запись то обновляет, если убрать select.
Последний раз редактировалось igova 21 фев 2018, 22:35, всего редактировалось 1 раз.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Нужен Update поля в KATOS
В ночи кнч не то написал.
KATOS.CINSPORDER == SPORDER.nrec не то конечно.
непонятно все же связь по KATOS.nrec = SPORDER.CSPORDER имеет место быть или нет . Если да, то заменить нужно на это
или только критерий связи неявный katsopr.name = katos.innum ?
И не ответили, как платформа у Вас
KATOS.CINSPORDER == SPORDER.nrec не то конечно.
непонятно все же связь по KATOS.nrec = SPORDER.CSPORDER имеет место быть или нет . Если да, то заменить нужно на это
или только критерий связи неявный katsopr.name = katos.innum ?
И не ответили, как платформа у Вас
Re: Нужен Update поля в KATOS
Критерий связи не явный katsopr.name = katos.innum . Платформа оракл. Но выполнить нужно через саппорт.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Нужен Update поля в KATOS
а у Вас всегда что ли в накладных таких одна спецификация ?
просто если не одна, то будет множественная связь и фигня тут будет KatOs.cInSpOrder := SPORDER.nrec
просто если не одна, то будет множественная связь и фигня тут будет KatOs.cInSpOrder := SPORDER.nrec