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

  • funbro1

    funbro1

    11 Aralık 2007
  • POGProductionz

    POGProductio

    27 NİSAN 2012
  • Tire Rack

    Tire Rack

    31 Mayıs 2007