Sql Type Tablo Oluşturma

Sql ‘de kullanılan bir çok geçici tablo söz konusu. Bunlardan bazıları # ile oluşturduğumuz temp tablolar, @ declare oluşturduğumuz temp tabloların yanında bir de Type tablolar yer almaktadır. Bu tablolar, çalıştığınız db altındaki Programmability > Type > User-Defined Table Types altında yer almaktadır. İster arayüz veya kod  ile oluşturabiliriz.

Type tablolar normal tablolar gibi içlerinde veri tutmazlar. Anlık olarak çalıştıklarında veri tutarlar ve işlem bittiğinde veri silinir. Ayrıca bu tabloları herhangi bir SP ‘de kullanmışsanız değişikliğe izin vermeyecektir.

Genel olarak kullanımı ise, kullanıcı arayüzünde birden çok verinin tek tek sql ‘e kaydettirilmesi yerine tek seferde DataTable olarak gönderilerek, Type tablo ile karşılanması ve kaydedilmesidir. Örnek verecek olursak, bir sayfada 50 ürüne ait bilgilerin yer aldığı bir liste form düşünelim. Bunları sql ‘e kaydettirmek için 50 sefer gitmek yerine, formdaki tüm verileri DataTable tipinde Sql’e göndererek bu verileri Type tabloya yazmamız yeterli olacaktır. Sonrasında insert işlemi için kullanacağımız tablo Type tablo olacaktır.

CREATE TYPE dbo.UrunlerTablosu AS TABLE
(
ProductID INT,
ProductName varchar(20)
);

DB içerisinde yer aldığı alan

CREATE PROCEDURE [dbo].[spUrunKaydet]
(
@ProductID INT = NULL,
@ProductName varchar(50) = NULL,
@TYPE_Urunler dbo.UrunlerTablosu READONLY
)

 

Yukarıda Store Procedure içinde kullanımı için iki önemli nokta var. Bunlardan birisi geçici bir değişken tanımlıyoruz (@TYPE_Urunler), ikincisi ise bu değişkeni READONLY olarak eşitliyoruz.

Geri kalan kısımlar da ise select,insert,delete ve update işlemleri için @TYPE_Urunler değişkenini (tablosunu) kullanabiliriz.

SELECT ProductID,ProductName FROM @TYPE_Urunler

Benzer Yazılar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir