![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Update со вложеным запросом [D6, Paradox]
prof © (2003-05-13 07:25:00)Доброго всем времени дня.
Вопрос уже задавался, но я рискну еще раз
Вопрос такой:
при выполнении запросаupdate temp_oper set парт=(select max(proiz_part.парт)from proiz_part)
выдается ошибка: Invalid use of keyword
и Token:=(select
во вложеном запросе поле ПАРТимеет тип счетчика.
Может кто знает в чем дело, помогите если можете?
ЮЮ (2003-05-14 03:56:00) [1]Invalid use of keyword - это ошибка синтаксиса запроса и не зависит от типа поля.
>но еслиберу из тойже таблицы поле типа NUMBER все катит
а какого типа парт в temp_oper? А <счетчик> имеет тип Long Integer. При несоответствии типов должно быть Type mosmatch ... а не Invalid use of keyword
prof (2003-05-13 09:52:00) [2]но еслиберу из тойже таблицы поле типа NUMBER все катит
ЮЮ (2003-05-13 09:42:00) [3]Ну и что? Разве select max(<счетчик>) from Table - это криминал?
prof (2003-05-13 09:38:00) [4]да теперь дошло проблема в том что поле парт в proiz_part имеет тип счетчика
ЮЮ (2003-05-13 09:28:00) [5]Запусти свой запрос в SQL Explorer. У меня он работает. Возможно запрос формируется динамически и содержит совсем не то, что ты приводишь
prof (2003-05-13 09:24:00) [6]в таблице proiz_part несколько партий и во вложенном запросе выбирается последний номер те номер последней по списку партии
VAleksey ©
>оно не должно и не будет обновляться !!!
>с этого и надо было начинать
и что имелось ввиду
ЮЮ (2003-05-13 09:17:00) [7]>VAleksey © (13.05.03 09:13)
во вложенном
VAleksey (2003-05-13 09:13:00) [8]
> во вложеном запросе поле ПАРТ имеет тип счетчика.
оно не должно и не будет обновляться !!!
с этого и надо было начинать.
ЮЮ (2003-05-13 08:55:00) [9]>нужно порядковый номер партии одноговида продукции
ну и где в запросе приутствует одного вида продукции? Он ищет максимальное значение парт во всей таблицеproiz_part
и это значение проставляет всем записям таблицыtemp_oper
prof (2003-05-13 08:28:00) [10]обьясняю нужно порядковый номер партии одноговида продукции
передать списку операций из которых этот продукт состоит , те. у каждой строки с операцией должон быть номер партии
ЮЮ (2003-05-13 08:22:00) [11]Не поленился, создал таблицы. Твой запрос нормально работает.
Может ты его привёл не полностью?
Правда его смысл совсем не понятен. Зачем нужна таблица с одной записью. А если их много, то зачем всем присваивать одно и то же значение.
ЮЮ (2003-05-13 08:09:00) [12]Ну не знаю. У меня на таблицах с нормальными названиями полей всё работает.
prof (2003-05-13 08:04:00) [13]нето уже робовал
ЮЮ (2003-05-13 07:56:00) [14]Хотя и так работает. Может поля из русских букв взять в кавычки?
prof (2003-05-13 07:53:00) [15]неа выдает уже type mismatch in expression
Alexandr (2003-05-13 07:47:00) [16]хитрый BDE, однако...
ЮЮ (2003-05-13 07:38:00) [17]update temp_oper set парт= 0 +(select max(proiz_part.парт)from proiz_part)