Muj*_*sir 4 sql t-sql sql-server sql-server-2005 sql-server-2008
我想写一个像这样的存储过程
Create Proc dbo.GetApplicantsByIDs
as
Select * from Applicants where ID in (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
如何将1,2,3作为参数传递,这些ID可能是多个.
您可以将您的ID作为XML发送给SP.
create procedure dbo.GetApplicantsByIDs
@IDList xml
as
-- Table to hold the id's
declare @IDs table(ID int primary key)
-- Fill table with id's
insert into @IDs(ID)
select X.ID.value('.', 'int')
from @IDList.nodes('/i') as X(ID)
select *
from Applicants
where ID in (select ID
from @IDs)
Run Code Online (Sandbox Code Playgroud)
参数字符串应如下所示:
'<i>1</i><i>2</i><i>3</i>'
Run Code Online (Sandbox Code Playgroud)