Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите со "сложным" UPDATE'ом
 
 автор: Lasar   (11.03.2009 в 06:12)   письмо автору
 
 

UPDATE `doc` SET `doc`.`doc_status` = 0 WHERE `doc`.doc_status <> 0 AND `doc`.`ID` = (SELECT `atached_doc`.`doc_ID` FROM `atached_doc` WHERE `atached_doc`.`ID` = valS);


Запрос выполняется в контексте хранимой процедуры
valS - это переменная

При выполнении вываливается ошибка "Подзапрос вернул более одной строки"

Смысл запроса в том чтоб в процессе массовой очистки таблиц (что происходит в процедуре) проставить флаг doc_status в положение "0" для всех строк в таблице `doc`, коим есть соответствие в таблице `atached_doc` по столбцу doc_ID. Т.е. подзапрос всегда будет возвращать более одной строки. Так вот как проапдейтить таблицу используя множество из подзапроса? Или есть более элегантный вариант?

Очень нужна ваша помощь..

  Ответить  
 
 автор: Root   (11.03.2009 в 20:21)   письмо автору
 
   для: Lasar   (11.03.2009 в 06:12)
 

...AND `doc`.`ID` IN ( ... 

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования