Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

SQL запрос   Найти похожие ветки 

 
jack128_   (2008-03-31 18:04) [0]

СУБД FireBird1б5

Имеем такой запрос:

update DONGLE_REPLACES dr
set
 dr.DONGLE_ID = (select d.DONGLEID from DONGLES d where d.ID = dr.DONGLE_OLD),
 dr.DONGLE_PN = (select d.DONGLEPN from DONGLES d where d.ID = dr.DONGLE_OLD)


как видим для апдейта каждой записи выполняется два запроса. Мона как нить вынести из "за скобки" ?? Чтоб одним селектом выбрать оба поля из таблицы dongles и запихнуть их в dongle_replaces


 
jack128_   (2008-03-31 18:04) [1]


> как видим для апдейта каждой записи выполняется два подзапроса select. Мона как нить вынести их "за скобки" ?


 
sniknik ©   (2008-03-31 18:15) [2]

в mssql (и даже access) есть такая операция как join, можно соединить и апдейтить все скопом.

в FireBird1б5 такой нет?


 
Ega23 ©   (2008-03-31 18:32) [3]

А если так:  
update DONGLE_REPLACES
set
DONGLE_ID = d.DONGLEID,
DONGLE_PN = d.DONGLEPN
from DONGLE_REPLACES dr, DONGLES d
 where d.ID = dr.DONGLE_OLD

?


 
sniknik ©   (2008-03-31 20:09) [4]

> А если так:
это и есть join, только неявный, если пройдет то пройдет и так (предпочитаю писать явно)
update DONGLE_REPLACES
set
DONGLE_ID = d.DONGLEID,
DONGLE_PN = d.DONGLEPN
from DONGLE_REPLACES dr INNER JOIN DONGLES d ON dr.DONGLE_OLD = d.ID

тоже самое но, имхо, более понятно.


 
Ega23 ©   (2008-03-31 21:23) [5]


> sniknik ©   (31.03.08 20:09) [4]


Кстати, о пцыцах: вот объясни мне, какая разница - INNER JOIN или в where условие?
Просто в разных книжках по MSSQL всречаются обе формы записи.
Какая из них более правильная?


 
Anatoly Podgoretsky ©   (2008-03-31 21:40) [6]

> Ega23  (31.03.2008 21:23:05)  [5]

Что такое правильная.
А условие в WHERE частный, неоптимальный случай INNER JOIN
Не надо совать условия соединения в условия отбора.
Некоторые, даже мощные СУБД долго не могли это реализовать.


 
Johnmen ©   (2008-03-31 22:17) [7]


> jack128_   (31.03.08 18:04) 

Никак.
Если проблемы со скоростью из-за этих двух запросов (в чем я сомневаюсь), то пиши ХП.


 
jack128_   (2008-04-01 09:55) [8]

> sniknik ©  
> Ega23 ©  
нет, FB таких апдейтов недопускает..  


> Если проблемы со скоростью из-за этих двух запросов

ну, пока сложно сказать насколько это будет тормозить, но на всякий случай интересуюсь :-)



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

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
3-1196339620
9899100
2007-11-29 15:33
2008.04.27
advantage odbc


15-1205232155
TIF
2008-03-11 13:42
2008.04.27
Delphi for PHP


15-1205497981
Правильный_Вася
2008-03-14 15:33
2008.04.27
бывают ли блондины среди негроидов и монголоидов?


2-1205474657
031178
2008-03-14 09:04
2008.04.27
Календарь


15-1205336282
AntonUSAnoV
2008-03-12 18:38
2008.04.27
где найти задачи по программированию ?