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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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

أسماء الجداول المرتبطة بالجدو

5 رد (ردود) على هذا الموضوع

#1 gamal_orcl

gamal_orcl

    مشترك

  • الأعضــاء
  • 61 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 February 2012 - 10:17 AM

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


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

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

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

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


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



#2 ahmed.arafa

ahmed.arafa

    عضو نشط

  • الأعضــاء
  • 266 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 February 2012 - 10:36 AM

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



#3 mahmoud kurdy

mahmoud kurdy

    مشترك

  • الأعضــاء
  • 50 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 February 2012 - 10:51 AM

الاخ الكريم :

يمكنك الاستعلام عن طريق الجدول 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')


#4 mahmoud kurdy

mahmoud kurdy

    مشترك

  • الأعضــاء
  • 50 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 February 2012 - 10:54 AM

قراءة الملف المرفق

ملفات مرفقة

  • ملف مرفق  REF TABLE.rar   8.69كيلو   46 عدد مرات التحميل


#5 gamal_orcl

gamal_orcl

    مشترك

  • الأعضــاء
  • 61 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 February 2012 - 03:06 PM

شكراً جزيلاً ليكم جاري التجربة و إبلاغكم بالنتيجة في أقرب فرصة بإذن الله

#6 gamal_orcl

gamal_orcl

    مشترك

  • الأعضــاء
  • 61 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 February 2012 - 04:58 PM

شكراً جزيلاً الطريقة نفعت
لازلت لم أطلع علي ملف 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');