Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
Дмитрий Белькевич   (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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.065 c
15-1333057317
Германн
2012-03-30 01:41
2013.03.22
Взаимодействие 64-х битного приложения с 32-х битной библиотекой


15-1338033251
Bluejohn
2012-05-26 15:54
2013.03.22
Как очистить Event Log?


1-1302439218
Luarvic
2011-04-10 16:40
2013.03.22
Плагин Миранды в свое приложение


2-1330073361
NieL
2012-02-24 12:49
2013.03.22
проверка перед добавлением


2-1332437524
sasha198407
2012-03-22 21:32
2013.03.22
ошибка Exception EAccessViolation in module Project1.exe





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский