SORU
21 Kasım 2009, CUMARTESİ


SQL TABLO yabancı anahtar kısıtlaması

Eğer böyle benim veritabanındaki tüm tabloları silmek istiyorsam, yabancı anahtar kısıtlaması ilgilenecek? Nasıl ilk dikkat yapmak durumunda değil mi?

GO
IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL
    DROP TABLE dbo.[Course]
GO
IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL
    DROP TABLE dbo.[Student]

CEVAP
21 Kasım 2009, CUMARTESİ


Hayır, Eğer gerçekten yabancı anahtarları o başvuran var tablonuzu düşecek.

Tüm yabancı anahtar ilişkileri tablo referans almak, bu SQL SQL Server ve 2005 değilseniz kullanabilirsiniz:

SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')

eğer, bu ifade, burada ise orada, aslında bu FK ilişkileri bırakmak için SQL ifadeleri oluşturabilirsiniz:

SELECT 
    'ALTER TABLE '    OBJECT_SCHEMA_NAME(parent_object_id)  
    '.['   OBJECT_NAME(parent_object_id)   
    '] DROP CONSTRAINT '   name
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • itfigueres

    itfigueres

    12 EKİM 2013
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013