Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.025 c
14-1118355696
Квест
2005-06-10 02:21
2005.07.11
Какие файлы и ключи реестра нужно сохранить при переустановке Вин


1-1118397912
Dysan
2005-06-10 14:05
2005.07.11
помогите понять в чем причина возникновения ошибки!


1-1118604210
Warstone
2005-06-12 23:23
2005.07.11
Связь Dll и TPanel


14-1118446282
Piter
2005-06-11 03:31
2005.07.11
Помогите определить что за песня


14-1118405259
kaif
2005-06-10 16:07
2005.07.11
Опрос: Имеете ли Вы автомобиль?




   Наверх