Как я могу сделать, если еще заявление в моей хранимой процедуры?
This is part of a store procedure. --select * from @MyTable; declare @seed int = (select Answer from @MyTable where IsSeed = 1); declare @drawDown int = (select sum(Answer) from @MyTable where IsSeed = 0); declare @ansToCheck nvarchar(max) = (select ans.answer from Answers ans where ans.ProjectID = @projectId and ans.QuestionID in (select ID from Questions where (ParentID = @parentQuestionId or ID = @parentQuestionId) and Day = @providedAnsDay)); select @projectId as ProjectId, isnull(@parentQuestionId, -1) as ParentQuestionId, @providedQuestionId as ProvidedQuestionId, isnull(@seed, 0) as Seed, isnull(@drawDown, 0) as Expended, isnull(@seed, 0) - isnull(@drawDown, 0) as Remaining, @ansToCheck as AnsToCheck; END I need to run delete statement if 'Remaining' is less than or equals to 0 before store procedure return. How do i do it ?
Что я уже пробовал:
Я знаю, как использовать блок if и else, но он не позволит мне вставить оператор select.
Как мне этого добиться?
F-ES Sitecore
Не следует помещать бизнес-логику в хранимые процедуры. Код, вызывающий эту процедуру, должен решить, нужно ли что-то удалять, и если да, то он может инициировать оператор delete.
istudent
Я думаю об этом, сэр, и стараюсь не делать этого из магазинной процедуры. Это связано с проблемой реализации. Это то, что говорят, если есть некоторые данные за понедельник, поданные в (страница 1) и вторник, поданные в (Страница 2). Но кто-то в будущем решил отредактировать данные за понедельник до 0, тогда поле вторника не должно отображаться на странице 2.
RedDk
Это похоже на псевдокод. Очистите его, чтобы показать TSQL, и мы продвинемся еще на один шаг вперед по пути к выяснению того, что делать дальше.