ЕСЛИ, когда нулевой результат другой хранимой процедуры

У меня есть хранимая процедура, которая содержит оператор Insert.

create procedure Sp1
(@oName varchar(50), @Address varchar(100))
as
begin
     insert into Tb1(Name, Address)values(@oName, @Address)
end

Из приведенной выше хранимой процедуры я хочу получить условие из результата другой хранимой процедуры. Со следующим действием:

select count(Branch) cBranch from Tb2 group by Branch

Итак, если cBranch есть zero. Тогда execute Sp1 больше ничего не делайте.

Нужен совет пожалуйста. Действительно ценится.

Создать еще один хранимый процесс, который выбирает из ветки, оценивает количество результатов, возвращает его, если меньше 1, иначе вызывает sp1? Откуда в этом случае вызов sp1 получает свои параметры? Почему вам нужно передавать параметры, которые вообще не нужны, процедуре, которая выполняет выборку, чтобы в конечном итоге выполнить вставку в таблицу, которая затем возвращает ее количество? Просто вернуть 0 в качестве счета? и если вы получите 0 обратного отсчета, сделать вставку?

Patrick Artner 21.12.2020 08:08

Sp1 необходимо обновить с условием, если нулевой результат из «скажем» Sp2. Sp2 для подсчета ветвей.

Haminteu 21.12.2020 08:10
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
2
90
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это:

CREATE PROCEDURE SP_NAME
AS
DECLARE @Cndtn INT
SELECT @Cndtn=COUNT(Branch) FROM Tb2 GROUP BY Branch

IF(@Cndtn>0)
BEGIN
EXEC Sp1 @oName,@Address
END
ELSE
BEGIN
SELECT 'Else Clause' --Add an another SP name
END

Привет, спасибо большое дружище! Действительно ценится. Теперь у меня есть подсказка, чтобы обновить свой Sp на основе вашего ответа. :)

Haminteu 21.12.2020 08:36

Другие вопросы по теме