Я пытаюсь использовать результат первой хранимой процедуры, которая дает мне список предложений, которые назначены конкретному эксперту. Из этого результата я хочу, чтобы соответствующие проекты этих предложений.как вызвать вложенную хранимую процедуру sql
мой первый запрос:
ALTER proc [dbo].[sp_ExpsAssignedProp]
(
@username as varchar(50)
)
as
begin
select pro.ProposalID,pro.Title,pro.GrantAmount from tbl_Registration reg
inner join tbl_Expert exp On reg.RegID=exp.RegID
inner join tbl_Panel pan On pan.ExpertID_1=exp.ExpertID
OR pan.ExpertID_2=exp.ExpertID
OR pan.ExpertID_3=exp.ExpertID
inner join tbl_Association asso On asso.PanelID=pan.PanelID
inner join tbl_Proposal pro On asso.ProposalID=pro.ProposalID
where [email protected]
end
теперь я пытаюсь использовать свой результат второго запроса, но его давая мне все проекты со статусом завершенным. Моя забота - получить проекты назначенного предложения со статусом как законченным.
alter proc [dbo].sp_AssignedProj
(
@username as varchar(50),
@status as varchar(50)
)
as
begin
exec sp_ExpsAssignedProp
select proj.ProjectID, proj.Title, proj.Budget, proj.StartDate, proj.FinishDate, proj.CurrentStatus from
tbl_Proposal prop
inner join tbl_Project proj On prop.ProposalID=proj.ProposalID
where [email protected]
end
*** SQL *** - это только * Структурированный язык запросов * - язык, используемый многими системами баз данных но не продукт базы данных ... многие вещи специфичны для поставщиков, поэтому нам действительно нужно знать, что ** система баз данных ** (и какая версия) вы используете (пожалуйста, обновите теги соответственно) .... –
Боковое примечание (при условии, что вы используете ** SQL Server **): вы не должны ** использовать префикс 'sp_' для ваших хранимых процедур. Microsoft [зарезервировала этот префикс для собственного использования (см. * Именование сохраненных процедур *)] (http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx) и вы рискуете столкнуться с именем когда-нибудь в будущем. [Это также плохо для производительности вашей хранимой процедуры] (http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix). Лучше просто просто избегать 'sp_' и использовать что-то еще в качестве префикса - или никакого префикса вообще! –
@marc_s Спасибо. Я не знал об именах хранимых процедур. –