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

Вниз

Не правильно работает ХП в MS SQL   Найти похожие ветки 

 
Ярослав   (2005-05-26 08:00) [0]

Люди помогите написал ХП но она не правильно работает, т.е. после else не выполняется код, если все закоментаровать оставить только Updete ... то все впорядке, Update сам по себе работает, т.е. как я понимаю, почему то не выполняется код именно после else? что не так?
Вот текст:

CREATE PROCEDURE [Delete_AgrClient]
 (
   @AddAgrID [int],
   @ClientID [int]
 )
AS
BEGIN
 if @AddAgrID = (Select [AddAgrID] from [AgrClient]
                 where ([AddAgrID]=@AddAgrID) and
                       ([ClientID]=@ClientID) and
                       ([Del] is Null)
                )
     delete from [AgrClient]
     where ([AddAgrID]=@AddAgrID) and
           ([ClientID]=@ClientID) and
           ([Del] is Null)
   
   else
     update [AgrClient]
     set [Del] = @AddAgrID
     where ([AddAgrID]=@AddAgrID) and
           ([ClientID]=@ClientID) and
           ([Del] is Null)
END


 
dmitry501 ©   (2005-05-26 08:11) [1]

Ярослав   (26.05.05 8:00)
Условие например не выполняется... Или SELECT в условии возвращает несколько значений.


 
dmitry501 ©   (2005-05-26 08:14) [2]

dmitry501 ©   (26.05.05 8:11) [1]
Сорри, не так понял. Написано про else. Ну тогда пустую строку перед else уберите.


 
Ярослав   (2005-05-26 08:21) [3]

Если условие в if true то delete происходит, а если нет то должен выполняться update (но он не происходит), таблица организована так, что одновременно в ней может существовать лишь одна запись с условием в where... так что по она если существует то должна либо удалиться либо измениться, а если нет ни одной такой записи то и делать ни чего не надо.
Попробую выполнить select отдельно, посмотрю что происходит, а вообще в MS SQL есть штатные средства трассировки ХП


 
Ярослав   (2005-05-26 08:22) [4]

Пустую строку убрал не помогло


 
Ярослав   (2005-05-26 08:34) [5]

Это я с тормозил в процедуре не достаточно входных параметров, не правильная она в общем. Извените за безпокойство.



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

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

Наверх




Память: 0.48 MB
Время: 0.566 c
3-1117605470
ArkIv
2005-06-01 09:57
2005.07.11
FreeLibrary и try catch


3-1117528118
Nikola62
2005-05-31 12:28
2005.07.11
Установка активной колонки в dbgridEh


6-1112684994
lin
2005-04-05 11:09
2005.07.11
TService + TClientSocket + TServerSocket


1-1118915651
KIDel
2005-06-16 13:54
2005.07.11
Эмулятор работающий в фоне.


14-1118812512
Vlad Oshin
2005-06-15 09:15
2005.07.11
Системные телефоны GSX/E-21 можно ли заставить быть "обычными"?