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

Оптимизировать запрос   Найти похожие ветки 

← →
Дмитрий Белькевич   (2010-06-07 19:43) [0]

Делаю ХП, можно ли как-то переписать более оптимально часть процедуры:


 if (exists(select STUDY_UID
            from STUDIES
            where STUDY_UID = :STUDY_UID and
                  STUDIES.STUDY_FILES_COUNTER = 0)) then
   delete from STUDIES
   where STUDY_UID = :STUDY_UID;


Процедура должна удалять запись с ключом STUDY_UID, если поле STUDY_FILES_COUNTER равно нулю.


← →
Виталий Панасенко(дом)   (2010-06-07 19:49) [1]

а for отменили?


← →
b z   (2010-06-07 20:47) [2]

А просто
delete from STUDIES
where STUDY_UID = :STUDY_UID and
        STUDY_FILES_COUNTER = 0;

не работает?


← →
Дмитрий Белькевич   (2010-06-07 20:59) [3]

Угу, уже [2] сам сделал. Что-то ступил сразу. Спасибо за обсуждение.


← →
Кщд ©   (2010-06-08 08:37) [4]

так
if (exists(select STUDY_UID
           from STUDIES
           where STUDY_UID = :STUDY_UID and
                 STUDIES.STUDY_FILES_COUNTER = 0)) then
  delete from STUDIES
  where STUDY_UID = :STUDY_UID;

в общем случае не эквивалентно:

delete from STUDIES
where STUDY_UID = :STUDY_UID and
       STUDY_FILES_COUNTER = 0;

если, конечно, STUDY_UID не PK, о чем ни слова)


← →
Дмитрий Белькевич   (2010-06-10 12:04) [5]

>если, конечно, STUDY_UID не PK, о чем ни слова)

>>запись с ключом STUDY_UID


← →
Кщд ©   (2010-06-11 10:06) [6]

Дмитрий Белькевич   (10.06.10 12:04) [5]
ключ ключу рознь
UQ и PK - несколько разные вещи, не так ли?


← →
Дмитрий Белькевич   (2010-06-13 00:44) [7]

Знаю pk, знаю fk, uq не знаю.


← →
turbouser ©   (2010-06-13 01:28) [8]

UQ - уникальный индекс, PK - первичный ключ
в данном случае нет разницы. FB автоматом создает индекс для PK


← →
Дмитрий Белькевич   (2010-06-13 01:49) [9]


> в данном случае нет разницы. FB автоматом создает индекс
> для PK


Я уж испугался, что в фб какой-то новый тип ключей появился :)


← →
Petr V. Abramov ©   (2010-06-15 15:53) [10]


> turbouser ©   (13.06.10 01:28) [8]

вроде бы как uq допускает null`ы, а pk - нет. хотя как в fb сделано - не помню.


← →
turbouser ©   (2010-06-15 17:22) [11]


> Petr V. Abramov ©   (15.06.10 15:53) [10]

я и не говорю, что uq и pk одно и то же :)



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

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



Память: 0.47 MB
Время: 0.05 c
2-1344000196
toropoff
2012-08-03 17:23
2013.03.22
Spell Check


2-1342074698
Sergey
2012-07-12 10:31
2013.03.22
просьба к участникам быть взаимовежливыми


2-1348400327
Jimmy
2012-09-23 15:38
2013.03.22
Изменение курсора мыши


15-1344107027
Прогер
2012-08-04 23:03
2013.03.22
Делегаты и функторы.


15-1332015528
>|<
2012-03-18 00:18
2013.03.22
Взаимодействие приложений




   Наверх