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.

SQL Server’da Dinamik Tablo Seçimi Yapmak

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.

517 Kez Okundu