SQL Server’da Dinamik Sorgu Çalıştıran Prosedür
Herkese merhaba,
Bu yazıda sizlere SQL Server’da dinamik sorgu çalıştıran prosedür hakkında bilgi vereceğim.
SQL Server’da böyle bir şeye ihtiyaç olur mu bilmiyorum fakat belki ilerde ihtiyacım olur diyerekten yazmayı denedim ve yazdım. Prosedür olarak yazdım.
Üç adet parametre alıyor. Veri tabanı adı, Tablo Adı ve Şema adı.
Siz dilerseniz daha da dinamik hale getirebilirsiniz. Bu tamamen sizlerin yapacağı işe göre değişebilir.
Aşağıdaki prosedürü oluşturup kodları çalıştırın. Bende örnek olarak Northwind ve AdventureWorks veri tabanları vardı ve bu veri tabanları üzerinde denedim. Siz dilediğiniz veri tabanı üzerinde deneyebilirsiniz.
CREATE PROCEDURE DinamikDBSorguGetirme
@VeritabaniAdi VARCHAR(50),
@TabloAdi VARCHAR(50),
@SchemaAdi VARCHAR(50)
AS
BEGIN
DECLARE @SQLCumle VARCHAR(500);
SET @SQLCumle = '
SELECT *
FROM ' + @VeritabaniAdi + '.' + @SchemaAdi + '.' + @TabloAdi + '';
EXEC (@SQLCumle);
END;
--Kullanımı
EXEC dbo.DinamikDBSorguGetirme @VeritabaniAdi = 'Northwind',
@TabloAdi = 'Products',
@SchemaAdi = 'dbo';
EXEC dbo.DinamikDBSorguGetirme @VeritabaniAdi = 'AdventureWorks',
@TabloAdi = 'Department',
@SchemaAdi = 'HumanResources';
Prosedürü oluşturup çalıştırınca aşağıdaki sonuçları elde edeceksiniz.
Görüldüğü üzere iki farklı veri tabanı var ve ben aynı ekran üzerinde iki farklı veri tabanından sonuç getirdim.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.