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

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • THELIFEOFPRICE

    THELIFEOFPRI

    16 Mart 2011