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

[استفسار] التاكد من القيمة موجود بالجدول لعنصر Fk

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم

انا عندى عنصر textbox مفروض انى يتم ادخل قيمة به بس العنصر دة FK من جدول يعنى مفروض القيمة اللى تدخل هنا لازم تكون فى الجدول Master
انا عاوز اقول
بعد كتابة اليوز للقيمة قبل ما اروح لعنصر اخر او عند الضغط على مفتاح الحفظ يقولى القيمة دى صحيح يعنى موجودة بالفعل فى الجدول Mater ولا لا
علشان لو مش موجودة مش اخليه يعمل save ولا يكمل الكود
حخلى الكود يقف كدة

RAISE FORM_TRIGGER_FAILURE;


طبعا دى عاوز جملة استعلام تتاكدة ان القية دى موجود فى Master table ولا لا
ياريت حد يفيدنى يا جماعة
والله المستعان

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

اوضح الفكرة اكتر
يعنى لما بكون مش عاوز العنصر دة يكون فارغ بعمل

DECLARE
V_ALERT ALERT;
V_SHOW_ALERT NUMBER;
BEGIN
IF :CARS_SOLD.CAR_FOR_SALE_ID IS NULL THEN 
  V_ALERT:=FIND_ALERT('CONFIRM_ALERT');
  IF NOT ID_NULL(V_ALERT) THEN
	  SET_ALERT_PROPERTY('CONFIRM_ALERT',TITLE,'Sala Car Project - Warning');
	  SET_ALERT_PROPERTY('CONFIRM_ALERT',ALERT_MESSAGE_TEXT,'You Should Enter Car ID');
	  SET_ALERT_BUTTON_PROPERTY('CONFIRM_ALERT',ALERT_BUTTON1,LABEL,'OK');
	  SET_ALERT_BUTTON_PROPERTY('CONFIRM_ALERT',ALERT_BUTTON2,LABEL,'Help');
	  V_SHOW_ALERT:=show_alert('CONFIRM_ALERT');
	  IF V_SHOW_ALERT=ALERT_BUTTON1 THEN
		  NULL;
	  END IF;
  END IF;
	  RAISE FORM_TRIGGER_FAILURE;
  END IF;
END;

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

بتاريخ:

بسيطه اخي..

على ترجر WHEN-VALIDATE-ITEM:

Declare
Cursor C Is 
Select Ur_Col
  From Emp
 Where Empno = :Blk_1.Empno;
Begin
For Rec In C Loop
 If :Blk_1.Ur_Col = Rec.Ur_Col Then
  -- Write Ur Code Here
 Else
 Raise Form_Trigger_Failure;
 End If;
End Loop;
End;

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

حجربها ورد على حضرتك اخى العزيز

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

Declare
Cursor C_CARS_SOLD Is SELECT CAR_FOR_SALE_ID  FROM CARS_FOR_SALE Where CAR_FOR_SALE_ID= :CARS_SOLD.CAR_FOR_SALE_ID;
Begin
For Rec In C_CARS_SOLD Loop
 If :CARS_SOLD.CAR_FOR_SALE_ID=CARS_FOR_SALE.CAR_FOR_SALE_ID Then
  -- Write Ur Code Here
  null;
 Else
 Raise Form_Trigger_Failure;
 End If;
End Loop;
End;



الكود مش شغال يا بشمهندس
بيقول table او veiw مش موجود وطبعا الجدول موجود

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

بتاريخ:

السلام عليكم

مثال بسيط على جدول emp,dept

طبعا انت الان في جدول emp وتريد ادخال مثلا رقم قسم المفروض هذا الرقم يكون موجود في ال dept والا يظهر لك رسالة تقول غير موجود

declare
dep_no   number(10);
begin select  count(*) into dep_no from dept where deptno=:deptno ;     -- this item that you enter in ti the value
if dep_no = 0 then
message('sorry no deptno like this number');
message('sorry no deptno like this number');
raise form_trigger_failure;
elsif dep_no>0 then
message('yes')'
message('yes')'
end if;
end;



طبعا يمكنك الاستغناء عن النص التاني من جملة اف لانها هتكون رسالة ليس لها لزمة
جرب وظبط كودك على الفكرة

وفقك الله

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

بشكر البشمهندس mustafagamiel جدا على هذا الحل

فعلا اشتغلت معايا كويس قوى
وانا حبيبت احط الكود اللى انا عملة كمان علشان لو حد قرءة المشاركة بعد كدة يستفاد
شكرا جدا يا بشمهندس mustafagamiel
وشكرا الى الاخر الفاضل PALI.ORACLE على الاهتمام

	
DECLARE
-- ALTER VARIABLE
V_ALERT ALERT;
V_SHOW_ALERT NUMBER;
-- CHECK FK
CAR_no number(10);
BEGIN
SELECT COUNT(*) INTO CAR_NO FROM CARS_FOR_SALE WHERE CAR_FOR_SALE_ID=:CARS_SOLD.CAR_FOR_SALE_ID;
IF CAR_NO = 0 THEN
  V_ALERT:=FIND_ALERT('CONFIRM_ALERT');
  IF NOT ID_NULL(V_ALERT) THEN
	  SET_ALERT_PROPERTY('CONFIRM_ALERT',TITLE,'SALA CAR PROJECT - WARNING');
	  SET_ALERT_PROPERTY('CONFIRM_ALERT',ALERT_MESSAGE_TEXT,'CAR ID IS INCORRECT');
	  SET_ALERT_BUTTON_PROPERTY('CONFIRM_ALERT',ALERT_BUTTON1,LABEL,'OK');
	  SET_ALERT_BUTTON_PROPERTY('CONFIRM_ALERT',ALERT_BUTTON2,LABEL,'HELP');
	  V_SHOW_ALERT:=SHOW_ALERT('CONFIRM_ALERT');
	  IF V_SHOW_ALERT=ALERT_BUTTON1 THEN
		  NULL;
	  END IF;
  END IF;
RAISE FORM_TRIGGER_FAILURE;
ELSIF CAR_NO>0 THEN
 NULL;
END IF;



والله المستعان

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

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

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

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

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

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

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.