Passing array as Parameter to SQL 2005 stored procedure

后端 未结 4 1432
时光取名叫无心
时光取名叫无心 2021-01-15 10:11

How to pass array as parameter to a Store Procedure in SQL Server 2005, i this is not possible SQL server 2000, so we pass comma separated values in past.

any help a

相关标签:
4条回答
  • 2021-01-15 10:24

    For a number of different ways to do this, please see:

    Arrays and Lists in SQL Server 2005

    0 讨论(0)
  • 2021-01-15 10:28

    See Passing an array or DataTable into a stored procedure for a method of passing arrays as image / varbinary objects and parsing them in the SP which is possible in SQL 2000 as well.

    0 讨论(0)
  • 2021-01-15 10:42

    Instead of a CSV, you could send an XML and then parse it in the procedure. For an example, look at Passing lists to SQL Server 2005 with XML Parameters

    0 讨论(0)
  • 2021-01-15 10:43

    This is still the case with Sql Server 2005.

    You make use of the XML type

    XML Support in Microsoft SQL Server 2005

    Here is an example of how to split a string into rows using the XML data type

    DECLARE @textXML XML
    DECLARE @data NVARCHAR(MAX), 
            @delimiter NVARCHAR(5)
    
    SELECT  @data = 'A,B,C',
            @delimiter = ','
    
    SELECT    @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML)
    SELECT  T.split.value('.', 'nvarchar(max)') AS data
    FROM    @textXML.nodes('/d') T(split)
    
    0 讨论(0)
提交回复
热议问题