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

  • efaustus9

    efaustus9

    16 HAZİRAN 2006
  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • Influencer Plus

    Influencer P

    2 Ocak 2013