• Sql de tablo'nun var olup olmadığını kontrol etmek


    Sql Server da bazen belirli bir tablonun olup olmama durumuna göre işlem yapmamız gerekebilir.Aslen benim karşılaştığım bir temptable ı kontrol etme sorunuydu ve bulduktan sonra burada da paylaşmak istedim ama önce normal bir tabloyu nasıl kontrol ederiz onun hakkında bir örnek vereceğim sonrasında ise bir temp table nasıl kontrol edip duruma göre nasıl işlem yaparız ona bakacağız.


    sql de bir tablonun var olup olmadığını kontrol etmek :

    IF EXISTS (SELECT * FROM sys.objects --sistem tablolarının tutulduğu tabloya select çekiyoruz.
                        WHERE object_id = OBJECT_ID(N'dbo.Personel') --Personel tablomuzu filtre olarak ekliyouz.
                       AND type in (N'U')--Tablo ismini yazmıştık şimdide bir tip filtresi ekliyoruz.bu select çektiğimiz tablodaki tip karşılıklarını aşağıda detaylı olarak verdim.
    )
    BEGIN
    PRINT 'tablo var :)'
    --buraya tablo var ise yapılacaklar yazılır
    END
    ELSE --eğer tablo yok ise
    BEGIN
    PRINT 'tablo bulunamadı :('
    --buraya tablo yok ise yapılacaklar yazılır
    END



    sys.objects tablosunda bulunan type'lar ve açıklamaları :

    Tip     Tip açıklaması
    C----CHECK_CONSTRAINT
    D----DEFAULT_CONSTRAINT
    F----FOREIGN_KEY_CONSTRAINT
    FN--SQL_SCALAR_FUNCTION
    IT---INTERNAL_TABLE
    P----SQL_STORED_PROCEDURE
    PK--PRIMARY_KEY_CONSTRAINT
    S----SYSTEM_TABLE
    SQ--SERVICE_QUEUE
    TR--SQL_TRIGGER
    U----USER_TABLE
    UQ--UNIQUE_CONSTRAINT
    V----VIEW


    Şimdide bir Temp Table kontrol edelim :

    IF OBJECT_ID('tempdb..#PersonelReport') IS NOT NULL
    BEGIN
    PRINT 'tablo var :)'
    --tablo var ise yapılacaklar
    END
    ELSE
    BEGIN
    PRINT 'tablo bulunamadı :('
    --tablo yok ise yapılacaklar
    END
  • You might also like

Bu Blogda Ara

Blogger tarafından desteklenmektedir.