bftarane
سه شنبه 10 اردیبهشت 1392, 15:37 عصر
سلام
لطفاً این Sp رو ببینید
ALTER PROCEDURE [dbo].[sptblRequestInnerBuyYearlyShow] (@pYear as smallint) AS
declare @pYearOld as smallint
set @pYearOld = @pYear - 1
Execute
(
'SELECT IstgRef.dbo.tbrFolder.folName AS rieSuppliantName,
SUM(CASE rieYear WHEN ' + @pYear + ' THEN dbo.tblRequestInnerBuyMonth.rieBill ELSE 0 END) AS rieBuyYearly,
SUM(CASE rieYear WHEN ' + @pYear + ' THEN dbo.tblRequestInnerBuyMonth.rieBillPercent ELSE 0 END) AS rieBuyYearlyPercent,
SUM(CASE rieYear WHEN ' + @pYearOld + ' THEN dbo.tblRequestInnerBuyMonth.rieBill ELSE 0 END) AS rieBuyYearlyOld,
SUM(CASE rieYear WHEN ' + @pYearOld + ' THEN dbo.tblRequestInnerBuyMonth.rieBillPercent ELSE 0 END) AS rieBuyYearlyPercentOld
FROM dbo.tblRequestInnerBuyMonth LEFT OUTER JOIN
IstgRef.dbo.tbrFolder ON dbo.tblRequestInnerBuyMonth.rieSuppliant = IstgRef.dbo.tbrFolder.folId
Where rieYear in ( ' + @pYearOld + ' , ' + @pYear + ' )
GROUP BY IstgRef.dbo.tbrFolder.folName '
)
منظور از Execute در اینجا چیه و چه کاری انجام میده؟
لطفاً این Sp رو ببینید
ALTER PROCEDURE [dbo].[sptblRequestInnerBuyYearlyShow] (@pYear as smallint) AS
declare @pYearOld as smallint
set @pYearOld = @pYear - 1
Execute
(
'SELECT IstgRef.dbo.tbrFolder.folName AS rieSuppliantName,
SUM(CASE rieYear WHEN ' + @pYear + ' THEN dbo.tblRequestInnerBuyMonth.rieBill ELSE 0 END) AS rieBuyYearly,
SUM(CASE rieYear WHEN ' + @pYear + ' THEN dbo.tblRequestInnerBuyMonth.rieBillPercent ELSE 0 END) AS rieBuyYearlyPercent,
SUM(CASE rieYear WHEN ' + @pYearOld + ' THEN dbo.tblRequestInnerBuyMonth.rieBill ELSE 0 END) AS rieBuyYearlyOld,
SUM(CASE rieYear WHEN ' + @pYearOld + ' THEN dbo.tblRequestInnerBuyMonth.rieBillPercent ELSE 0 END) AS rieBuyYearlyPercentOld
FROM dbo.tblRequestInnerBuyMonth LEFT OUTER JOIN
IstgRef.dbo.tbrFolder ON dbo.tblRequestInnerBuyMonth.rieSuppliant = IstgRef.dbo.tbrFolder.folId
Where rieYear in ( ' + @pYearOld + ' , ' + @pYear + ' )
GROUP BY IstgRef.dbo.tbrFolder.folName '
)
منظور از Execute در اینجا چیه و چه کاری انجام میده؟