<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CSV on AdaTheDev Blog</title><link>https://www.adathedev.co.uk/tags/csv/</link><description>Recent content in CSV on AdaTheDev Blog</description><generator>Hugo -- gohugo.io</generator><managingEditor>adathedev@gmail.com (Adrian Hills)</managingEditor><webMaster>adathedev@gmail.com (Adrian Hills)</webMaster><lastBuildDate>Thu, 11 Feb 2010 20:38:00 +0000</lastBuildDate><atom:link href="https://www.adathedev.co.uk/tags/csv/index.xml" rel="self" type="application/rss+xml"/><item><title>SQL Server 2008 - Table Valued Parameters vs XML vs CSV</title><link>https://www.adathedev.co.uk/2010/02/sql-server-2008-table-valued-parameters.html</link><pubDate>Thu, 11 Feb 2010 20:38:00 +0000</pubDate><author>adathedev@gmail.com (Adrian Hills)</author><guid>https://www.adathedev.co.uk/2010/02/sql-server-2008-table-valued-parameters.html</guid><description>The scenario is, you want to create a stored procedure that returns the records relating to a finite set of keys/IDs that you pass in to it. How do you do it? Well you could use dynamic SQL, but for the purpose of this article I&amp;rsquo;m going to ignore that option.
Test scenario -- Create basic customer table CREATE TABLE [dbo].[Customer] ( Id INTEGER IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(50) NOT NULL ); GO -- Populate Customer table with 100,000 sample records DECLARE @Counter INTEGER SET @Counter = 1 WHILE (@Counter &amp;lt;= 100000) BEGIN INSERT Customer (Name) VALUES (&amp;#39;Test Customer #&amp;#39; + CAST(@Counter AS VARCHAR(10))) SET @Counter = @Counter + 1 END Option 1 - CSV list of keys In SQL Server 2000, you would most likely have ended up passing in a CSV list of keys, splitting that out into a table, and then joining that on to your real data table to match the records to return.</description></item></channel></rss>