2017-02-03 20 views
0

傳遞多個整數參數值我有一個具有結構這樣一個存儲過程:如何在SSRS

ALTER PROCEDURE dbo.GetUserFullName 

(@NoteStoreType INT = NULL) 

AS 
SELECT DISTINCT dbo.tblUsers.LastName + ', ' + dbo.tblUsers.FirstName as UnderwriterName 
FROM   tblUsers 
WHERE   tblUsers.Type = COALESCE(@NoteStoreType, tblNoteStore.Type) 

在我SSRS報告中,我想說,如果@NoteStoreType= NULL然後選擇所有NoteStoreTypes,如果沒有的話用@NoteStoreType該用戶將選擇。

如果我允許多個值,那麼它會給我一個錯誤,將數據類型int轉換爲字符串。

enter image description here

我可以做,在沒有我的存儲過程進行任何更改SSRS?

+0

如果您想允許用戶在您的參數中選擇多個值,您將不得不更改SP。爲什麼不使用'where tblUsers.Type IN(@NoteStoreType)'並將所有值設置爲參數中的默認值?另外請注意,您的參數未設置爲允許空值,因此您的SP不會將參數設爲null。 –

回答

2

所選的多個參數將作爲字符串傳遞給存儲過程。您將需要更改存儲的proc來拆分該字符串。另外,如果你想傳遞null,你將需要檢查允許null值。