Страница 2 из 3
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 12:26
igova
В накладных только одна позиция в спецификации. Одна накладная соответствует одной карточке ОС
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 13:17
Den
Код: Выделить всё
sql
select
'sql update katos set katos.cInSpOrder=#comp(' || Cast(sporder.nrec as String) || ') where katos.nrec=#comp' || Cast(katos.nrec as String) || ')'
from
katsopr inner join sklorder on katsopr.nrec=sklorder.csopr and katsopr.vidsopr=101 and katsopr.name<>''
inner join sporder on sklorder.nrec=sporder.csklorder
inner join katos on katsopr.name=katos.innum
where katos.innum<>''
;
проналаизировать что получается, ну строчку, другую попроловать выполнить на update из результата, если все ок, запустить весь результат.
Лучше ,если есть возможность. на тестовой БД )
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 13:23
igova
Конечно проверки выполняю на тестовой. В ней несколько соответствий.
Проверю, отпишу.
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 13:29
Den
...where katos.nrec=#comp('.. скобочку кнч тут забыл
Re: Нужен апдейт поля
Добавлено: 16 фев 2018, 13:39
igova
Выводит в редактор правильно.
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 13:46
Den
так же как select в input-окне.
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 13:51
igova
Нужно убрать sql select и одинарные кавычки в начале и конце 3-ей строки?
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 13:55
Den
Нужно строку(и) результата , аля :
sql update katos set katos.cInSpOrder=#comp(123) where katos.nrec=#comp(456)
скопипастить в окно запроса и нажать ctrl+f9
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 14:05
Den
там еще нужно. забыл, преобразовать нормуль нрек возвращаемый. Короче, конечный правильный вариант :
Код: Выделить всё
sql
select
! katos.innum
'sql update katos set katos.cInSpOrder=#comp(' || Cast(int64(sporder.nrec) as String) || ') where katos.nrec=#comp(' || Cast(int64(katos.nrec) as String) || ');'
from
katsopr inner join sklorder on katsopr.nrec=sklorder.csopr and katsopr.vidsopr=101 and katsopr.name<>''
inner join sporder on sklorder.nrec=sporder.csklorder
inner join katos on katsopr.name=katos.innum
where katos.innum<>''
;
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 14:20
igova
ок
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 14:27
Den
Попробовал ради интереса данный скрипт на Гал 9,1 под ораклом. Нигде не ругается. Модификация тоже проходит. ок
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 14:28
Den
igova писал(а):В бд не апдейтит, просто вывод текста в редактор делает.
это то делали все 1:1 как Вам написали :
Нужно строку(и) результата , аля :
sql update katos set katos.cInSpOrder=#comp(123) where katos.nrec=#comp(456)
скопипастить в окно запроса и нажать ctrl+f9
Re: Нужен апдейт поля
Добавлено: 16 фев 2018, 14:41
igova
Я поправил кавычку, все отработало.
Re: Нужен Update поля в KATOS
Добавлено: 16 фев 2018, 14:44
Den
Это понятно с первого сообщения что нужен апдейт
Т.е., вы запускаете строку какую либо ИЗ РЕЗУЛЬТАТА ПРИВЕДЕННОГО МНОЙ SELECT на выполнение :
sql update katos set katos.cInSpOrder=#comp(123) where katos.nrec=#comp(456);
и ничего не модифицируется в базе ?
p.s. дяденька m0p3e намекал как бы, что можно сначала сформировать нужный скрипт для модификации из select. и Потом его уже запускать на выполнение. Мы попытались внять его совету
Re: Нужен апдейт поля
Добавлено: 16 фев 2018, 14:58
igova
В таком варианте отрабатывает.