SORU
29 Mayıs 2009, Cuma


Nasıl SQL Server yabancı anahtar bağımlılıkları bulmak için?

Nasıl belirli bir sütun yabancı anahtar bağımlılıkları tüm bulabilirim?

Farklı alternatifler (SSMS grafik, SQL Server/görüşleri, 3. veritabanı araçları, kod sorgular parti .ne NET)?

CEVAP
29 Mayıs 2009, Cuma


Aşağıdaki sorgu başlamanıza yardımcı olacaktır. Geçerli veritabanındaki tüm Yabancı Anahtar İlişkileri listeler.

SELECT
    K_Table = FK.TABLE_NAME,
    FK_Column = CU.COLUMN_NAME,
    PK_Table = PK.TABLE_NAME,
    PK_Column = PT.COLUMN_NAME,
    Constraint_Name = C.CONSTRAINT_NAME
FROM
    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK
    ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK
    ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU
    ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
INNER JOIN (
            SELECT
                i1.TABLE_NAME,
                i2.COLUMN_NAME
            FROM
                INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
            INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2
                ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
            WHERE
                i1.CONSTRAINT_TYPE = 'PRIMARY KEY'
           ) PT
    ON PT.TABLE_NAME = PK.TABLE_NAME

Ayrıca Veritabanı Diyagramları içinde grafiksel olarak SQL Server Management studio içinde ilişkileri görebilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • George McCarron

    George McCar

    29 Mayıs 2013
  • kylediablo

    kylediablo

    8 Ocak 2007
  • spyib

    spyib

    9 Ocak 2007