Я унаследовал отчет SSRS, который мне нужен, чтобы понять, как работает скалярная переменная, поскольку я просто не получаю его.
Хранимая процедура запускается, как показано ниже, и нет проблем с запуском хранимой процедуры с @FromPeriod
и @ToPeriod
.
CREATE PROCEDURE [dbo].[_SP_STOREDPROCEDURE]
(@FromPeriod int, @ToPeriod Int)
AS
set nocount on
declare @v_FromPeriod int
declare @v_ToPeriod int
declare @cnt int, @periods int
declare @v_periodbegindate datetime
declare @v_YearBegindate datetime
ETC. ETC.
Затем у меня есть другой скрипт, который запускается по принципу adhoc, и в этой части мне нужна помощь:
declare @Period int
declare @PriorPeriod int
select @period = cur_per from tbm_Parms
if right(@Period, 2) <> '01'
begin
set @PriorPeriod = @Period - 1
end
exec [_SP_STOREDPROCEDURE] @PriorPeriod, @PriorPeriod
Как это работает?
В моей хранимой процедуре определены @FromPeriod
и @ToPeriod
, но при использовании сценария adhoc вместо нее передается @PriorPeriod
. Это работает отлично, но я не понимаю, как / почему это работает.
Любые жемчужины мудрости будут оценены.
Спасибо