Question: I want to pass multiple values in a single parameter. SQL Server 2005

Answer: 
You can have your sproc take an **`xml`** typed input variable, then unpack the elements and grab them. For example:

```
DECLARE @XMLData xml

DECLARE 
    @Code varchar(10),
    @Description varchar(10)

SET @XMLData = 
'
    <SomeCollection>
      <SomeItem>
        <Code>ABCD1234</Code>
        <Description>Widget</Description>
      </SomeItem>
    </SomeCollection>
'

SELECT 
    @Code = SomeItems.SomeItem.value('Code[1]', 'varchar(10)'),
    @Description = SomeItems.SomeItem.value('Description[1]', 'varchar(100)')
FROM @XMLDATA.nodes('//SomeItem') SomeItems (SomeItem)

SELECT @Code AS Code, @Description AS Description

```

Result:

```
Code        Description
==========  ===========
ABCD1234    Widget

```
Just to suggest. You can't really do so in SQL Server 2005. At least there is no a straightforward way. You have to use CSV or XML or Base 64 or JSON. However I strongly discourage you to do so since all of them are error prone and generate really big problems.

If you are capable to switch to SQL Server 2008 you can use Table valued parameters ([Reference1](http://msdn.microsoft.com/en-us/library/bb510489.aspx), [Reference2](http://msdn.microsoft.com/en-us/library/bb675163.aspx)). 

If you cannot I'd suggest you to consider the necessity of doing it in stored procedure, i.e. do you really want (should/must) to perform the sql action using SP. If you are solving a problem just use Ad hoc query. If you want to do so in education purposes, you might try don't even try the above mentioned things.