Вниз
Скачать: 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.093 c
15-1333528430
Дмитрий С
2012-04-04 12:33
2013.03.22
SizeOf( ж );


15-1336653449
AV
2012-05-10 16:37
2013.03.22
Нечеткое сравнение строк или что посоветуете?


15-1328614653
istok20
2012-02-07 15:37
2013.03.22
миграция в mac os..


2-1331808385
Login2
2012-03-15 14:46
2013.03.22
Графический интерфейс


3-1285063680
yurikon
2010-09-21 14:08
2013.03.22
TADOQuery и TADODataSet




   Наверх