الانتقال إلى المحتوى

سؤال عن : كيفية اظهار أسماء الجداول المرتبطة بالجدول الحالي


gamal_orcl

Recommended Posts

السلام عليكم و رحمة الله و بركاته



هل في طريقة لإظهار جميع أسماء الجداول المرتبطة بالجدول الحالي


بمعني الجدول الأساسي الذي يحتوي علي المفتاح الرئيسي ال(PK)


لو ال PK راح كمفتاح فرعي في 3 جداول مثلاً تانيين


هل أقدر بجملة سيليكت أجيب أسماء ال3 جداول التانيين و أسماء الCONSTAINTS مثلا ... إلخ



و السلام عليكم و رحمة الله و بركاته

رابط هذا التعليق
شارك


select a.table_name,
a.constraint_name pkey_constraint,
b.constraint_name fkey_constraint,
b.r_constraint_name
from user_constraints a, user_constraints b
where a.table_name = b.table_name
and a.constraint_type = 'P'
and b.constraint_type = 'R'
and a.constraint_name != b.r_constraint_name[/left]


[left]



im working in HR schema


Result is





TABLE_NAME PKEY_CONSTRAINT FKEY_CONSTRAINT R_CONSTRAINT_NAME
------------------------------ ------------------------------ ------------------------------ ------------------------------
COUNTRIES COUNTRY_C_ID_PK COUNTR_REG_FK REG_ID_PK
LOCATIONS LOC_ID_PK LOC_C_ID_FK COUNTRY_C_ID_PK
DEPARTMENTS DEPT_ID_PK DEPT_MGR_FK EMP_EMP_ID_PK
DEPARTMENTS DEPT_ID_PK DEPT_LOC_FK LOC_ID_PK
EMPLOYEES EMP_EMP_ID_PK EMP_JOB_FK JOB_ID_PK
EMPLOYEES EMP_EMP_ID_PK EMP_DEPT_FK DEPT_ID_PK
JOB_HISTORY JHIST_EMP_ID_ST_DATE_PK JHIST_DEPT_FK DEPT_ID_PK
JOB_HISTORY JHIST_EMP_ID_ST_DATE_PK JHIST_EMP_FK EMP_EMP_ID_PK
JOB_HISTORY JHIST_EMP_ID_ST_DATE_PK JHIST_JOB_FK JOB_ID_PK

9 rows selected

رابط هذا التعليق
شارك

الاخ الكريم :

يمكنك الاستعلام عن طريق الجدول user_constraints و يمكنك الاستفادة من الاعمدة التالية :
USER اسم المستخدم
TABLE_NAME اسم لجدول
CONSTRAINT_TYPE نوع القيد
R= FOREIGN KEY
وهذا مثال لإظهار الجداول المرتبطة مع الجدول EMPLOYEES


SELECT  TABLE_NAME FROM user_constraints WHERE
CONSTRAINT_NAME IN
(select R_CONSTRAINT_NAME  from user_constraints where USER = 'HR'  AND table_name = 'EMPLOYEES' AND CONSTRAINT_TYPE = 'R')

رابط هذا التعليق
شارك

شكراً جزيلاً الطريقة نفعت
لازلت لم أطلع علي ملف REF TABLE و لكن شكراً جزيلاً

SELECT  TABLE_NAME FROM user_constraints
WHERE CONSTRAINT_NAME IN
(select R_CONSTRAINT_NAME
from user_constraints where USER = 'GEM'  AND table_name = 'USERS'	AND   CONSTRAINT_TYPE ='R');

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية