SQL Server’da Stored Prosedürlerin Kullandığı Tabloları Bulmak

Herkese merhaba,

Bu yazıda SQL Server’da Stored prosedürlerin kullandığı tabloları nasıl bulacağımızdan bahsedeceğim.

Aşağıdaki kodu kullanarak bu işlemi rahatlıkla yapabilirsiniz.

DECLARE @TempTabloSP TABLE
(
    spAdi VARCHAR(100),
    tabloAdi NVARCHAR(100)
);
DECLARE @spAdi AS NVARCHAR(100);
DECLARE @SP_Cursor AS CURSOR;
SET @SP_Cursor = CURSOR FOR
SELECT [name]
FROM sys.objects
WHERE type = 'P';
OPEN @SP_Cursor;
FETCH NEXT FROM @SP_Cursor
INTO @spAdi;
WHILE @@FETCH_STATUS = 0
BEGIN
    INSERT INTO @TempTabloSP
    SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name,
           referenced_entity_name
    FROM sys.sql_expression_dependencies AS sed
        INNER JOIN sys.objects AS o
            ON sed.referencing_id = o.object_id
    WHERE referencing_id = OBJECT_ID(@spAdi);
    FETCH NEXT FROM @SP_Cursor
    INTO @spAdi;
END;
CLOSE @SP_Cursor;
DEALLOCATE @SP_Cursor;
SELECT *
FROM @TempTabloSP;

Kodu ilgili veri tabanı üzerinde çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Stored Prosedürlerin Kullandığı Tabloları Bulmak

Görüldüğü üzere tüm prosedürler için kullanılan tabloları göstermiş oldu. Dikkat edilirse CustOrderHist prosedüründe 4 tablo var.  Gerçekten de bu şekilde mi kontrol edelim.

SQL Server’da Stored Prosedürlerin Kullandığı Tabloları Bulmak

Görüldüğü üzere istediğimiz gibi tabloları elde etmiş olduk.

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

307 Kez Okundu

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 biriyim.

You may also like...

Yazı kopyalamak yasaktır!