2008-06-02

SQL Server 2008: Table Valued Parameters

SQL Server 2008 ile birlikte stored procedure parametrelerinde tablo kullanabileceğiz. Bu oldukça güzel bir özellik; eminim bir çoğunuz benim gibi bu özelliği bekliyordu.

Şehir adlarını bir tablo üzerinden toplu bir şekilde bir SP sayesinde ekleyelim. SP miz parametre olarak tablo alacak. Bunun için öncelikle bir test tablosu oluşturalım:

CREATE TABLE TestCity(
[CityId] [int] NOT NULL,
[Name] [varchar](64) NOT NULL
)

Bir tablo tipi oluşturalım:

CREATE TYPE [CityType] AS TABLE(
[CityId] [int] NOT NULL,
[Name] [varchar](64) NOT NULL
)

TestCity tablosuna kayıt ekleyecek SP mizi yazalım:

CREATE PROCEDURE usp_InsCity
@TableParam CityType READONLY
AS
SET NOCOUNT ON
BEGIN
INSERT INTO TestCity Select CityID, Name from @TableParam
END

Şimdi de tem tabloya şehirleri ekleyip kayıt ekleyen SP mizi çalıştıralım:

DECLARE @tmpTest AS CityType

INSERT INTO @tmpTest(CityID,Name) VALUES(6,'İzmir'),(34,'İstanbul'), (63,'Şanlıurfa')
--Kayıt eklemelerini toplu şekilde yapıyoruz:)

EXEC usp_InsCity @tmptest

Not: Tüm Kodlar SQL Server 2008 CTP6 ile test edilmiştir.

Hiç yorum yok:

Yorum Gönder

Lütfen yorumlarınızda Ad Soyad ve Web sayfanızın adresini girelim!