SQL Practice Blog – SQL Server, BizTalk und .NET Erfahrungen

SQL Server 2008: Table Valued Parameters

with one comment

Ich stand heute vor dem Problem, das ich eine Collection von Werten in eine Stored Procedure übergeben wollte. Nun habe ich überlegt was es alles für Wege gibt dies zu realisieren, bis mir einfiel das mit dem SQL Server 2008 ein neues Feature mit dem Namen Table Valued Parameters (TVP) erschienen ist.

Wie funktionieren diese Table Valued Parameters?

Angenommen ich habe eine Tabelle Customers mit folgenden Spalten:

image

Mein Ziel ist es die Werte FirstName, LastName und City als Collection in eine Stored Procedure zu geben, so das darin ein INSERT Befehl mit den übergebenen Werten ausgeführt wird. Dazu deklariere ich mir einen benutzerdefinierten Type als TABLE mit den Spalten FirstName, LastName und City. Hier der Code:

image

Im dritten Schritt erzeuge ich die Stored Procedure, welche als Übergabeparameter den benutzerdefinierten Type TypeCustomerValues definiert. In der Stored Procedure wird dann ein INSERT Statement ausgeführt. Wichtig ist das der Übergabeparameter als READONLY definiert wird.

image

Nun erstellt man eine Variable vom Type TypeCustomerValues und füllt diese mit den gewünschten Daten. Danach ruft man die eben erstellte Stored Procedure auf und übergibt die eben definierte und gefüllte Variable an die Stored Procedure.

image

Written by Robert Meyer

Januar 26, 2010 um 23:27

Veröffentlicht in SQL Server

Tagged with , , ,

Eine Antwort

Subscribe to comments with RSS.

  1. Danke, aber Du hast nur die erste Hälfte der Aufgabe beschrieben, die Du Dir zum Ziel gesetzt hattest.

    Wo ist der Teil, wo man den TVP aus .NET aus der SP übergibt?

    Nuelo

    August 2, 2010 at 16:38


Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: