Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

Ошибка в запросе 


andyfirst   (2002-03-05 14:44) [0]

Делаю запрос типа:
Update T1 Set G07 = (select G07 From T2 Where ...)
Where NGO In (select T3 ...)
На что получаю сообщение об ошибке от BDE:
Single row subquery produced more than one row.
Я так понимаю, что ему не нравится то, что я пытаюсь обновить множество записей множеством записей. Но мне нужно обновить не одним значением все поле, а соответствующую запись соответствующим значением из другой записи. Как быть?



deleon   (2002-03-05 14:59) [1]

(select G07 From T2 Where ...)
этот подзапрос у тебя может возвращать более одного значения, поэтому его нужно переделать хотя-бы так:
(select Max(G07) From T2 Where ...)



andyfirst   (2002-03-05 15:30) [2]

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



Johnmen   (2002-03-05 15:37) [3]

В рамках одного запроса - неразрешимо...



MetallAdm   (2002-03-05 16:22) [4]

а как насчет курсора ??



roottim   (2002-03-05 16:33) [5]

Update T1, T2 Set
T1.G07 = T2.GO7
Where
t1.ID=t2.ID and
NGO In (select T3 ...)



Johnmen   (2002-03-05 16:42) [6]

>roottim : Ты бы сначала проверил работоспособность своего запроса ! Это же, извини, чушь !



roottim   (2002-03-05 17:01) [7]

знаеш!... в оракле такая штука точно не пройдет!...
а вот в Access это работает как ни странно.. я так нивзначай подумал Foх, Access одна байда!... почему нет!!!
как видиш... чуш иногда работает :)



roottim   (2002-03-05 17:20) [8]

Update T1 Set G07 = (select MAX(G07) From T2 Where T2.ID=T1.ID...)
Where T1.NGO In (select ...)



Johnmen   (2002-03-05 17:24) [9]

>roottim : Если работает в Access, то это что-то ! %o)))))




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.057 c
1-134             AlexRaza              2002-03-19 22:08  2002.04.01  
Автооткрытие файла


1-88              DimaIv                2002-03-20 09:04  2002.04.01  
Есть GroupBox с надписью внутри него находится ProgressBar


3-3               andyfirst             2002-03-05 14:44  2002.04.01  
Ошибка в запросе


1-229             masterdim             2002-03-20 15:20  2002.04.01  
изменение свойства у компонента TButton


3-47              ТеньЛуны              2002-03-07 12:12  2002.04.01  
Oracle