Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं उन सभी तालिकाओं को कैसे ढूंढूं जिनमें विदेशी कुंजी हैं जो विशेष तालिका का संदर्भ देती हैं। कॉलम और उन विदेशी चाबियों के लिए मूल्य हैं?

इस क्वेरी को आजमाएं:

आपको sysreferences . का उपयोग करना होगा और sysobjects जानकारी प्राप्त करने के लिए टेबल

नीचे दी गई क्वेरी डेटाबेस से कॉलम नामों के साथ सभी फ़ॉरेग्न कुंजियों के साथ-साथ पैरेंट टेबल भी देती है

select cast(f.name as varchar(255)) as foreign_key_name
, cast(c.name as varchar(255)) as foreign_table
, cast(fc.name as varchar(255)) as foreign_column
, cast(p.name as varchar(255)) as parent_table
, cast(rc.name as varchar(255)) as parent_column
from  sysobjects f
inner join sysobjects c on f.parent_obj = c.id
inner join sysreferences r on f.id = r.constid
inner join sysobjects p on r.rkeyid = p.id
inner join syscolumns rc on r.rkeyid = rc.id and r.rkey1 = rc.colid
inner join syscolumns fc on r.fkeyid = fc.id and r.fkey1 = fc.colid
where f.type = 'F'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर कर्सर प्रकार - SQL सर्वर में स्टेटिक कर्सर क्या हैं | SQL सर्वर ट्यूटोरियल / TSQL ट्यूटोरियल

  2. किसी मौजूदा कॉलम में एक पहचान जोड़ना

  3. SQL 2008 VS 2012 त्रुटि:कीवर्ड 'COMPUTE' के पास गलत सिंटैक्स

  4. MSSQL 2008 R2 में एक नई तालिका में CSV को एक कॉलम से पंक्तियों में कैसे विभाजित करें?

  5. SQL सर्वर तालिका में मैन्युअल रूप से पहचान कॉलम में मान कैसे सम्मिलित करें - SQL सर्वर / T-SQL ट्यूटोरियल भाग 41