Тебе не нужен островок.Select count (*) всегда возвращает ненулевое значение.Вы даже можете выдать
select count(*) from anytable where 1=2
, и вы получите 0, а не ноль.Я думаю, что ваша проблема приходит, когда вы исполняете SP.Возможно, вам не хватает ключевого слова output рядом с @Num_of_User.Ваш вызов должен выглядеть примерно так:
declare @outNum int
exec ValidateUser 'some', 'wrong', @outNum output
print @outNum
Обратите внимание на ключевое слово output справа от параметра