Вниз
Скачать: CL | DM;

Update со вложеным запросом   Найти похожие ветки 

← →
prof ©   (2003-05-13 07:25) [0]

Доброго всем времени дня.
Вопрос уже задавался, но я рискну еще раз
Вопрос такой:
при выполнении запроса update temp_oper set парт=(select max(proiz_part.парт)from proiz_part)
выдается ошибка: Invalid use of keyword
и Token: =(select
во вложеном запросе поле ПАРТ имеет тип счетчика.

Может кто знает в чем дело, помогите если можете?


← →
ЮЮ ©   (2003-05-13 07:38) [1]

update temp_oper set парт= 0 + (select max(proiz_part.парт)from proiz_part)


← →
Alexandr ©   (2003-05-13 07:47) [2]

хитрый BDE, однако...


← →
prof ©   (2003-05-13 07:53) [3]

неа выдает уже type mismatch in expression


← →
ЮЮ ©   (2003-05-13 07:56) [4]

Хотя и так работает. Может поля из русских букв взять в кавычки?


← →
prof ©   (2003-05-13 08:04) [5]

нето уже робовал


← →
ЮЮ ©   (2003-05-13 08:09) [6]

Ну не знаю. У меня на таблицах с нормальными названиями полей всё работает.


← →
ЮЮ ©   (2003-05-13 08:22) [7]

Не поленился, создал таблицы. Твой запрос нормально работает.
Может ты его привёл не полностью?

Правда его смысл совсем не понятен. Зачем нужна таблица с одной записью. А если их много, то зачем всем присваивать одно и то же значение.


← →
prof ©   (2003-05-13 08:28) [8]

обьясняю нужно порядковый номер партии одноговида продукции
передать списку операций из которых этот продукт состоит , те. у каждой строки с операцией должон быть номер партии


← →
ЮЮ ©   (2003-05-13 08:55) [9]

>нужно порядковый номер партии одноговида продукции

ну и где в запросе приутствует одного вида продукции? Он ищет максимальное значение парт во всей таблице proiz_part
и это значение проставляет всем записям таблицы temp_oper



← →
VAleksey ©   (2003-05-13 09:13) [10]


> во вложеном запросе поле ПАРТ имеет тип счетчика.

оно не должно и не будет обновляться !!!
с этого и надо было начинать.


← →
ЮЮ ©   (2003-05-13 09:17) [11]

>VAleksey © (13.05.03 09:13)
во вложенном


← →
prof ©   (2003-05-13 09:24) [12]

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

VAleksey ©

>оно не должно и не будет обновляться !!!
>с этого и надо было начинать

и что имелось ввиду


← →
ЮЮ ©   (2003-05-13 09:28) [13]

Запусти свой запрос в SQL Explorer. У меня он работает. Возможно запрос формируется динамически и содержит совсем не то, что ты приводишь


← →
prof ©   (2003-05-13 09:38) [14]

да теперь дошло проблема в том что поле парт в proiz_part имеет тип счетчика


← →
ЮЮ ©   (2003-05-13 09:42) [15]

Ну и что? Разве select max(<счетчик>) from Table - это криминал?


← →
prof ©   (2003-05-13 09:52) [16]

но еслиберу из тойже таблицы поле типа NUMBER все катит


← →
ЮЮ ©   (2003-05-14 03:56) [17]

Invalid use of keyword - это ошибка синтаксиса запроса и не зависит от типа поля.

>но еслиберу из тойже таблицы поле типа NUMBER все катит
а какого типа парт в temp_oper? А <счетчик> имеет тип Long Integer. При несоответствии типов должно быть Type mosmatch ... а не Invalid use of keyword



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.014 c
8-3013
Zergling
2003-02-15 07:13
2003.06.02
Работа с DirectSound


3-2767
prof
2003-05-13 07:25
2003.06.02
Update со вложеным запросом


3-2800
Tomkat
2003-05-14 19:31
2003.06.02
Обработка исключений


4-3225
Igor
2003-04-03 09:58
2003.06.02
Перехват процесса.


4-3228
Ик сик
2003-04-03 15:23
2003.06.02
Программно нажать клавишу




   Наверх