我想創建一個存儲過程以在我的web api中使用ASP.NET和C#。我那裏有三列像這樣的表:在一個表中使用兩個參數進行搜索,其中一個是整數列表
Id |TranName|ConfigName
---|--------|----------
10 |ABC |abcd
11 |BDE |bdef
12 |FGH |fghi
13 |HIJ |hijk
的問題是,我使用另一個存儲過程返回,我不得不使用搜索上表與TranName沿整數列表。因此,舉例來說,給定一個整數列表9,10,11,12,13和TranName BDE找到相應的ConfigName(在這種情況下,我期望它匹配11爲Id然後BDE爲TranName並返回bdef作爲ConfigName。
我對存儲過程的代碼如下所示。我創建一個表被用作一個參數來搜索在TransTable。
CREATE TYPE dbo.ScrapeTranList
AS TABLE
(
scrapeTranId int
);
GO
CREATE PROCEDURE [dbo].[GetConfigNameById]
-- Add the parameters for the stored procedure here
@list AS dbo.ScrapeTranList READONLY,
@TransName varchar = null
AS
BEGIN
SET NOCOUNT ON;
select ConfigName
from TransTable as T
where T.TranName = @TransName AND T.Id IN @list
END
有人可以幫我解決存儲過程的代碼?
爲什麼不直接傳入逗號分隔列表作爲參數或更好,還是表參數? – scsimon
@scsimon我不明白你在提議什麼。 – Koolkirtzz
檢查您的索引候選人是創建索引TransTable(TranName)include(Id) –