İleri Seviye SQL Server Sql Server

SQL Server’da Sorgu Çıktısını HTML Tablosu Şeklinde Oluşturan Prosedür

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda SQL Server’da sorgu çıktısını HTML tablosu şeklinde oluşturan prosedür hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda sorgularınızın sonuçlarını dinamik bir şekilde HTML tablosu olarak görmek isteyebilirsiniz ya da seçili sorguları HTML formatında raporlamak için bir araç olarak kullanabilirsiniz.

Aşağıdaki prosedürü kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

Ben işlemi Northwind veritabanını kullanarak yaptım. Siz istediğiniz veritabanında deneyebilirsiniz.

--Prosedürün oluşturulması

--Prosedürün oluşturulması

CREATE PROC dbo.sp_SorguyuHTMLTablosunaCevir
(@Sorgu NVARCHAR(3000))
AS
BEGIN
    DECLARE @SutunListesi NVARCHAR(1000) = N'';
    DECLARE @SorguIstegi NVARCHAR(2000) = N'';
    DECLARE @DinamikSorgu NVARCHAR(3000);
    DECLARE @Pozisyon INT;

    SET NOCOUNT ON;

    SELECT @SutunListesi += N'ISNULL (' + name + N',' + N'''' + N' ' + N'''' + N')' + N','
    FROM sys.dm_exec_describe_first_result_set(@Sorgu, NULL, 0);

    SET @SutunListesi = LEFT(@SutunListesi, LEN(@SutunListesi) - 1);
    SET @Pozisyon = CHARINDEX('FROM', @Sorgu, 1);
    SET @SorguIstegi = SUBSTRING(@Sorgu, @Pozisyon, LEN(@Sorgu) - @Pozisyon + 1);
    SET @SutunListesi = REPLACE(@SutunListesi, '),', ') as TD,');
    SET @SutunListesi += N' as TD';
    SET @DinamikSorgu
        = CONCAT(
                    'SELECT (SELECT ',
                    @SutunListesi,
                    ' ',
                    @SorguIstegi,
                    ' FOR XML RAW (''TR''), ELEMENTS, TYPE) AS ''TBODY''',
                    ' FOR XML PATH (''''), ROOT (''TABLE'')'
                );

    EXEC (@DinamikSorgu);
    SET NOCOUNT OFF;
END;
GO

--Prosedürün kullanımı

EXEC dbo.sp_SorguyuHTMLTablosunaCevir 'SELECT ProductName, UnitPrice FROM Products'

Prosedürü oluşturup çalıştırdığınızda aşağıdakine benzer bir sonuç elde edeceksiniz.

SQL Server'da Sorgu Çıktısını HTML Tablosu Şeklinde Oluşturan Prosedür

Görüldüğü üzere tablomuz oluşturuldu. Sonuca tıklayıp içine bakalım.

SQL Server'da Sorgu Çıktısını HTML Tablosu Şeklinde Oluşturan Prosedür

Görüldüğü üzere HTML tablo oluşturulmuş oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

70 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!