我需要在存儲過程下面的樞軸中輸入一個參數。但它表示,「必須聲明標量變量」@pWeek「。」無法解決:'必須聲明標量變量'@Parameter「`'
我試圖以任何方式聲明它,但我無法弄清楚這一點。 當我得到我想要的數字,我想要的方式時,其他一切都很好。我只需要能夠將其放入SSRS並能夠輸入參數。謝謝。
GO
/****** Object: StoredProcedure [dbo].[QB_ACCOUNT_SUMMARY] Script Date: 6/19/2015 12:42:12 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[QB_ACCOUNT_SUMMARY]
@pWeek int
as
SET NOCOUNT ON
declare @AccountRef_Fullname AS NVARCHAR(MAX)
select @AccountRef_Fullname = COALESCE(@AccountRef_Fullname + ',', '') + '['+ AccountRef_Fullname + ']'
from
(
select distinct Accountref_fullname
from (select accountref_fullname from journalcreditlinedetail)JournalCreditLine
union
(select accountref_fullname from journaldebitlinedetail)
union
(select accountref_fullname from txnexpenselinedetail)
union
(select accountref_fullname from depositlinedetail)
union
(select discountaccountref_fullname from [appliedtotxndetail])
) pAccountRef_Full_Name
declare @Sql NVARCHAR(MAX)
set @Sql = N' SELECT [REAL WEEK], [LTWS WEEK], [REAL YEAR], [LTWS YEAR], [LTWS PERIODS], ' + @AccountRef_Fullname
+ 'from
(SELECT * from Account_Summary_View
where Week = @pWeek
)Account_Data '
+' PIVOT ('
+ ' sum(amount) for AccountRef_FullName in ('+ @AccountRef_Fullname +')'
+' ) AS PivotTable '
--+')Data '
exec (@Sql)
;
你創建動態SQL,你沒忘了聲明和使用變量外的字符串(你們一起做的方式AccountRef_Fullname)?另外我沒有看到你的proc定義中有任何參數。 –
我已更新原始代碼以顯示@pWeek參數以及我試圖實施它的其中一種方法。但我總是收到相同的錯誤信息。我試圖讓它參數可以鏈接到用戶通過SSRS查看時輸入的內容。 –