الانتقال إلى المحتوى
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.

اريد كود تريجر على فورم للتحقق من عدم تكرار الداتا

Featured Replies

بتاريخ:

السلام عليكم .. وبعد

عملت فورم مواعيد يحتوي على رقم الموعد و تاريخ الموعد وبداية الموعد ونهاية الموعد ورقم الدكتور ورقم المريض

doctor_id(fk) ,patient_id(fk), app_id(pk) , app_date , start_time , end_time اسم الجدول app

اريد عمل كود يقوم بالاعتراض في حالة تكرر الموعد بنفس الموعد والتاريخ والدكتور(يعني في حالة تكرر بداية الموعد و نهاية الموعد وتاريخ الموعد و رقم الدكتور) كي لا يقوم بحجز نفس الموعد عند نفس الدكتور بنفس التوقيت


ولكم جزيل الشكر ..

بتاريخ:

اعتقد ممكن تعمل PK يجمع اسم الدكتور والموعد والتاريخ وبذلك تضمن عدم التكرار

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

يسلمو كتير عالرد ... بس ما بنفع احطهم كلهم pk لانو في doctor_id(fk هاد من جدول تاني .... فكرة انو احطهم كلهم pk بتنفع في حالة وحدة انو ما في ولا عمود بعتمد عليه من جدول تاني .. ان شاء الله تكون وصلت الفكرة وشكرا الك مرة تانية :(

بتاريخ:

السلام عليكم ورحمة الله وبركاته
الاخ العزيز lost_angel ممكن تضيف trigger pre-insert وبعد عمل جملة select المطلوبة ضع هذة الشروط فى where ولو فية اى مشكله ارسلها
وشكرا

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

اشكرك عزيزي على الرد ... لكن التريجر الذي استخدمته هو when validate record

والكود هو :


declare 
	x number(10);
	begin
select count(*) into x from APPOINTMENT
where APPOINTMENT_DATE=APPOINTMENT.APPOINTMENT_DATE 
and 	DOCTOR_ID=APPOINTMENT.doctor_id 
and 	start_time=APPOINTMENT.start_time 
and   end_time=APPOINTMENT.end_time	;

if x>0 then
	message('eee');

raise form_trigger_failure;
end if;
end ;



بس مو عارف ليه ما بنفذ .. ولك التحية

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

عزيزي Abdet ... شكرا الك هلأ رح اجربو واشوف شو بطلع معي ... يسلمو :(

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

ما زبط معي موضوع الماتش .. يسلمو كتير ... يا ريت الي عندو فكرة ما يبخل علينا :(

بتاريخ:

ان مش عارف هتنفع وله لأ بس جت الفكرة في دماغي قلت اكتبها


SQL> ALTER TABLE APPOINTMENT
2 ADD CONSTRAINT App_unique UNIQUE (
3 DOCTOR_ID,
4 APPOINTMENT_DATE,
5 start_time
6 );




تم تعديل بواسطة tera

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

شكرا كتير tera على الاهتمام .. و ان شاء الله رح احاول فيها .. :(

بتاريخ:

السلام عليكم

يوجد طريقة لمنع التكرار على الفورم و ذلك بان تقومى بتغير خاصية ال The Primary Key item property الى yes للحقول التى تريد ان لا يحدث فيها التكرار ثم تغير خاصية
Enforce Primary Key (Block) Property الى yes ... و دة هايمنع اى نكرار لجميع الحقول التى تم تحديدها

ارجو التجربة

شكرا و بالتوفيق

بتاريخ:

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

اليك هذه الفورم لمنع التكرار لرقم الموظف
CHECK_redundancy.zip

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

عزيزي mada1212

اشكرك على التجاوب والاهتمام .. حاولت فيه وضيفت داتا بس مش عارف وين المشكلة انو ما بحفظ شي وضل كمان اني اطلع مسج وهاد اهم شي بالنسبة للفكرة .. رح اعمل message_level ان شاء الله بلكي زبط ...
يسلمو كتير مرة تانية

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

عزيزي Amgad

اشكرك جزيل الشكر .. نزلت الفورم وحاولت افهم الكود لانو بعتمد على تايمر وان شاء الله رح اعدل عليه بناءا على items الي عندي .. سلمت يمينك .. وربنا يزيدك من العلم كمان وكمان

تحياتي

بتاريخ:

االسلام عليكم

هذة شاشة تقوم بكشف التكرار فى الحقول كما شرحت من قبل ..........ارجو ان تحل المشكلة

شكرا و بالتوفيق


ملحوظة: الشاشة على سكيما SCOTT

DUBLICATE_DEPT.rar

  • بعد 1 شهر...
بتاريخ:

السلام عليكم .. وبعد

عملت فورم مواعيد يحتوي على رقم الموعد و تاريخ الموعد وبداية الموعد ونهاية الموعد ورقم الدكتور ورقم المريض

doctor_id(fk) ,patient_id(fk), app_id(pk) , app_date , start_time , end_time اسم الجدول app

اريد عمل كود يقوم بالاعتراض في حالة تكرر الموعد بنفس الموعد والتاريخ والدكتور(يعني في حالة تكرر بداية الموعد و نهاية الموعد وتاريخ الموعد و رقم الدكتور) كي لا يقوم بحجز نفس الموعد عند نفس الدكتور بنفس التوقيت


ولكم جزيل الشكر ..

declare
x   number;
begin
select count(*) into x from tablename   where col1 like col2;
end ; 

بتاريخ:

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

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

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

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

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

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

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.