SQL Server’da Dinamik Tablo Seçimi Yapmak
Herkese merhaba,
Bu yazıda SQL Server’da dinamik tablo seçim işleminin nasıl yapılabileceği hakkında bilgi vermeye çalışacağım.
SQL Server’da bazı durumlarda şartlara göre çalışan dinamik tablo seçimi yaptırmak isteyebiliriz.
Aşağıdaki örnek kodu kendinize göre revize ederek siz de bu işlemleri rahatlıkla yapabilirsiniz.
--Tablo 1 oluşturulması
CREATE TABLE Tablo1
(
Id INT PRIMARY KEY IDENTITY(1, 1),
Tablo1Veri NVARCHAR(50)
);
--Tablo 1 veri eklenmesi
INSERT INTO dbo.Tablo1
(
Tablo1Veri
)
VALUES
('Veri' -- Tablo1Veri - nvarchar(50)
);
--Tablo 2 oluşturulması
CREATE TABLE Tablo2
(
Id INT PRIMARY KEY IDENTITY(1, 1),
Tablo2Veri NVARCHAR(50)
);
--Tablo 2 veri eklenmesi
INSERT INTO dbo.Tablo2
(
Tablo2Veri
)
VALUES
('Veri 2' -- Tablo1Veri - nvarchar(50)
);
--Dinamik tablo işleminin yapılması
DECLARE @SecilenTabloAdi NVARCHAR(50);
DECLARE @Sorgu NVARCHAR(MAX);
DECLARE @TabloDeger INT = 1;
IF @TabloDeger = 2 --Burada atama işlemi yaptım
BEGIN
SET @SecilenTabloAdi = N'Tablo1';
SET @Sorgu = N'SELECT * FROM ' + @SecilenTabloAdi;
END;
ELSE
BEGIN
SET @SecilenTabloAdi = N'Tablo2';
SET @Sorgu = N'SELECT * FROM ' + @SecilenTabloAdi; --Bu sonuç döndü
END;
PRINT @Sorgu; --Sorguyu görmek için
EXEC sp_sqlexec @Sorgu;
Yukarıdaki kod bloğunu çalıştırdığınızda aşağıdaki sonucu göreceksiniz.
Görüldüğü üzere Tablo2 tablosuna SELECT işlemini dinamik olarak yapmış olduk.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.