SORU
13 Kasım 2009, Cuma


Liste yabancı anahtarları ve tablo onlar başvurusu

Bana bir tablo için yabancı anahtar bir liste ve referans tabloları ve sütunları iade edileceği sorgu bulmaya çalışıyorum. Yol ile benim yarım kadar

SELECT a.table_name, 
       a.column_name, 
       a.constraint_name, 
       c.owner
FROM ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C  
where A.CONSTRAINT_NAME = C.CONSTRAINT_NAME 
  and a.table_name=:TableName 
  and C.CONSTRAINT_TYPE = 'R'

Ama yine de bu anahtar tarafından başvurulan bilmek gerek. Bu nasıl gidebilirim?

CEVAP
13 Kasım 2009, Cuma


başvurulan birincil anahtar sütunları r_owner masa ALL_CONSTRAINTS r_constraint_name açıklanmıştır. Bu size istediğiniz bilgileri verecektir:

SELECT a.table_name, a.column_name, a.constraint_name, c.owner, 
       -- referenced pk
       c.r_owner, c_pk.table_name r_table_name, c_pk.constraint_name r_pk
  FROM all_cons_columns a
  JOIN all_constraints c ON a.owner = c.owner
                        AND a.constraint_name = c.constraint_name
  JOIN all_constraints c_pk ON c.r_owner = c_pk.owner
                           AND c.r_constraint_name = c_pk.constraint_name
 WHERE c.constraint_type = 'R'
   AND a.table_name = :TableName

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • girleffect

    girleffect

    20 Mayıs 2008