الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

سيناريو بناء مصفوفة Type لحقل هاتف الموظف

Featured Replies

بتاريخ:

إخواني الكرام ، تحية طيبة وبعد،

أنظروا معي الي هذا السيناريو الجميل

1- قمت بإنشاء النوع التالي :

Create Or Replace Type T_Phone Is Object(Phone1  VarChar2(5),Phone2 VarChar2(10))
/



2- وقمت بإنشاء جدول الموظفين ، ويرتبط النوع السابق لهاتف الموظف :

Create Table Emp
(
 Emp_ID	   Number(10), 
 Emp_Code   VarChar2(10),
 Emp_Name  VarChar2(50),
 Emp_Phone  T_Phone,
 Constraint PK_EMP Primary Key(Emp_ID)
)
/



3- قمت بإجراء إدراج لمجموعة من السجلات :

Insert Into Emp Values(1,'001','Ahmed',T_Phone('02-54215678','012-25789425'));
Insert Into Emp Values(2,'002','Usif',	 T_Phone('05-32564785','012-85426549'));
Insert Into Emp Values(3,'003','Sara',	T_Phone('04-45789657','010-12587648'));



4- ولكي أقوم بإجراء تعديل علي إحدي السجلات كما يلي :

Update Emp Set Emp_Phone = T_Phone('02','15487528') Where Emp_ID = 2;



ولكن مشكلتي الحقيقية عند أمر الـ Select !!

Select * From Emp;
Emp_ID	   Emp_Code	 Emp_Name		   Emp_Phone(Phone1,Phone2)
-----------	   ----------------	  -----------------		   ------------------------------------------
1				 001				Ahmed				 T_Phone('02-54215678','012-25789425')
2				 002				Usif					  T_Phone('05-32564785','012-85426549')
3				 003				Sara					 T_Phone('04-45789657','010-12587648')



المطلوب :
كيفية إقتباس حقل واحد من المصفوفة T_Phone ، علي سبيل المثال عرض Phone1 في عمود مستقل ، و Phone2 في عمود آخر كما يلي :

Emp_ID	   Emp_Code	 Emp_Name		   Phone1			 Phone2
-----------	   ----------------	  -----------------		   -------------------	 ----------------------
1				 001				Ahmed				 02-54215678	 012-25789425
2				 002				Usif					  05-32564785	 012-85426549
3				 003				Sara					 04-45789657	 010-12587648



إخواني الكرام ، آسف علي طول رسالتي ، ولكنني أتمني مساعدتكم

وشكراً

بتاريخ:

فكرة جيده لتعريف type ثم التعامل معه من خلال جدول الموظفين ..

فى حالة ان عدد ارقام الهاتف الاول معروف وثابت

يمكنك استخدام امر

substr(fieldname,startfrom,lenght)



ولكن لماذا فضلت استخدام هذه الطريقه .. ؟
وما هى المزايا من استخدامها وكيفية التعامل معها من خلال شاشات الادخال
أو الاستعلام برقم الهاتف

وكيفية التعامل .. اذا طلب اضافة رقم هاتف ثالث بعد فترة من التعامل وادخال بيانات بالجدول ؟

لماذا لم تنشئ جدول تفصيلى تابع لجدول الموظف الاساسى .. فى حالة وجود عدد كبير من ارقام الهواتف
يحتوى على رقم الموظف ورقم الهاتف ونوعه

هل ستكون هناك مرونه عند الاستعلام بأى من هذه الارقام ؟

شكرا على الجهد المبذول

منتظر ردك

بتاريخ:
  • كاتب الموضوع

أخي الكريم ، أشكرك كثيراً علي الرد ،

أخي Amgad ، هناك العديد من الطرق !!
1- يمكن من خلال إنشاء حقل واحد وتقسيمة كما تشاء.
2- يمكن من خلال بناء جدول ( حقل متعدد القيم ) ، ويتم الربط مع الجدول الرئيسي.
3- يمكن من خلال إنشاء أكثر من حقل بنفس الجدول بحيث أن كل حقل يمثل هاتف معين.
4- يمكن إستخدام طريقة Type.


إذاً أخي الكريم ، هناك العديد من الطرق ، والبرمجة غير مقيدة علي شيء محدد.

لكنني من الأفراد الذي لديهم الفضول ، وهذا الفضول ساعدني في عملي ، لأنني وجدت
برنامج المخازن والمشتريات والمبيعات به العديد من الأشكال والأنماط بقاعدة بيانات SQL-Sever

فإذا كان لديك الفكرة ، أتمني المساعدة

وشكراً لك وللجميع



--------------------------
( رجاء المساعدة )

بتاريخ:

اخي الكريم اعمل جملة مثل هذي الجملة على الجدول تبعك


SELECT t1.person_id, last_name, t2.*
FROM person t1, TABLE(t1.person_phones) t2

;

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.