Bir Tablo Üzerinde Tanımlı Index ve Foreign Keylerin Sorgulanması

  • Bir Tablonun Herhangi Bir Kolonunu Foreign Key Kabul Eden Tabloların Sorgulanması

SELECT [Referans Alan Tablo] = FK.TABLE_NAME,
[Referans Alan Kolon] = CU.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
WHERE PK.TABLE_NAME = 'Sorgulanan_Tablo'

Bu kod sonucunda sorgulanan_tablo tablosunu referans alan foreign keyler döndürülecektir.

 

  • Bir Tablo Üzerine Tanımlı Indexlerin Sorgulanması

SELECT COL_NAME(ic.object_id,ic.column_id) AS column_name, i.is_unique, i.is_primary_key
FROM sys.indexes AS i INNER JOIN sys.index_columns AS ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id WHERE i.object_id = OBJECT_ID('sorgulanan_tablo')

Bu kod sonucunda sorgulanan_tablo üzerinde tanımlı indexler döndürülecektir.

Yorum Yapın

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d blogcu bunu beğendi: