(f)هل هناك في الاوراكل ترقيم تلقائي ..؟
وإذا كان كذلك ..فكيف يكون عمله ..(f)
(f)هل هناك في الاوراكل ترقيم تلقائي ..؟
وإذا كان كذلك ..فكيف يكون عمله ..(f)
السلام عليكم
اخي حد السيف نعم هناك آلية للترقيم في الأوراكل وهي sequence ابحث في المنتدى على ماأظن يوجد درس عن هذا الموضوع .
تحياتي لك وللجميع ..
سوف اعمل نموزج عن هذ الموضوع ان شاء الله حيكون عبارة عن شرح مبسط
ياليت اخوي حسين تسرع في الموضوع هذا لاني والله محتاج بشده
الأخ الذي يسأل عن الترقيم التلقائي في الأوراكلوإذا أردت عملة اتبع الآتي :-
- الطريقة الأولي :-
لكي نعرف كيفية إنشاء الترقيم التلقائي بهذه الطريقة نتبع الآتي :-
ننشأ حقل ترقيم تلقائي في SQL وذلك بهذا الأمر :-
CREATE SEQUENCE SEQUENCE NAME ;
وهذه هي الصيغة العامة لكتابة إنشاء حقل ترقيم تلقائي ولتطبيق ذلك نفترض أننا نريد إنشاء حقل ترقيم تلقائي باسم AA فنكتب الأمر كالتالي :-
CREATE SEQUENCE AA;
ولتشغيل هذا الحقل ولجعله يبدأ من رقم 1 نكتب ذلك الأمر والصيغة العامة هي كالتالي:-
SELECT SEQUENCE_NAME.NEXTVAL FROM DUAL;
وبذلك نكون قد أنشأنا حقل ترقيم تلقائي ولربط هذا الحقل بالنموذج لابد عند إنشاء الجدول الذي سوف نعمل النموذج منه أن ننشأ حقل فارغ ولا نكتب فيه شئ .
ولتطبيق ذلك ننشأ جدول باسم ZEYAD ويحتوي علي الحقول التالي
STUDENT_NO
STUDENT_NAME
ADRESS
SEQ
وحقل الـ SEQ هو الحقل الفارغ والذي سوف يكون في النموذج كحقل ترقيم تلقائي
5- ننشأ نموذج باستخدام FORM BUILDER فيكون شكل النموذج
ولربط حقل الترقيم الذي أنشأناه في SQL والمسمي AA بالحقل الفارغ الذي أنشأناه في جدول zeyad والمسمي seq والذي هو هنا في النموذج باسم الترقيم ندخل علي خصائص هذا الحقل وفي الخاصية Initial value نكتب داخلة :-
Sequence.sequence_name.nextval
وهذا تطبيقها علي المسلسل AA وربطه مع الحقل الفارغ seq
:sequence.aa.nextval
ويعيب هذه الطريقة أنك إذا دخلت النموذج سواء سجلت أم لا فإنه يبدأ في الترقيم التلقائي فيكون السجلات عددها مثلاً 5 سجلات الترقيم التلقائي وصل إلي 25 ولتلافي ذلك نتبع الآتي :-
- ندخل علي الـ trigger الخاص بالجدول وذلك بالضغط علي F11 ونحن محددين اسم الجدول من شاشة الـ Navigator ونكتب الكود الآتي بعد اختيار الحدث pre-Insert :-
Select sequence_name.nextval into :column_name from dual;
ونطبق هذه القاعدة علي هذا النموذج فيكون شكل الكود كما يلي :-
Select aa.nextval into :seq from dual;
فبذلك يقلل من تكرار الترقيم إلا في حالة الحفظ وبذلك نكون قد أنشأنا المسلسل .
بسم الله الرحمن الرحيم
أخي حسين علي
أرجو أن توفر لنا هذا النموذج الذي وعدتنا به حول الترقيم التلقائي
أخوك / لؤي (أبو العبد)
السلام عليكم و رحمه الله و الصلاه و السلام على رسول الله
قد تجد في هذا الدرس طلبك إن شاء الله
بسم الله الرحمن الرحيم
جزاك الله كل خير أخي الكريم Mr Crack
وبارك الله فيك
أخوك / لؤي (أبو العبد)
هذا الموضوع مغلق.