البرمجة

كيفية حل مشكلات القواعد البرمجية في PL/SQL

إذا كنت تواجه مشكلة مع القواعد البرمجية في PL/SQL، يبدو أن الأخطاء التي تحصل عليها تظهر بسبب أخطاء صغيرة في النص الذي كتبته. هنا بعض النقاط التي يجب مراجعتها:

  1. beign في السطر رقم 4: الكلمة الصحيحة هي begin بدلاً من beign.

  2. =: في السطر رقم 6: يجب أن يكون = بدلاً من =:.

بعد تصحيح هذه الأخطاء، قد تكون القاعدة البرمجية جاهزة للعمل. إليك الكود بعد التعديل:

sql
create or replace trigger t2 before insert or update on programmer for each row declare cursor c1 is select prof1, prof2 from programmer; begin for r1 in c1 loop if r1.pname = :new.pname then if :new.prof1 = :new.prof2 then raise_application_error(-20091,'prof1 and prof2 should not be same'); end if; end if; end loop; end; /

يرجى ملاحظة أنه يجب أن تكون متأكدًا من أن هذا هو السلوك الذي تريده من القاعدة البرمجية، حيث أنها ستتحقق من كل صف جديد قبل إدخاله أو تحديثه وسترفض الإجراء إذا كانت prof1 تساوي prof2 لنفس الاسم pname.

المزيد من المعلومات

يبدو أن الأخطاء التي تظهر تنتج عن بعض الأخطاء الإملائية والتركيبية في الكود. هناك بعض الأمور التي يمكن تحسينها في الكود:

  1. في السطر 4، يجب أن تكون الكلمة الصحيحة “begin” بدلاً من “beign”.
  2. في السطر 6، يجب إزالة الفراغ بين “:” و”new”، لتصبح الجملة “if :new.pname then”.
  3. في السطر 7، يجب إزالة الفراغ بين “:” و”new”، لتصبح الجملة “if :new.prof1 = :new.prof2 then”.

بعد إجراء هذه التعديلات، يجب أن يكون الكود قابل للتنفيذ بدون أخطاء. إليك الكود المعدل:

sql
create or replace trigger t2 before insert or update on programmer for each row declare cursor c1 is select prof1, prof2 from programmer; begin for r1 in c1 loop if r1.pname = :new.pname then if :new.prof1 = :new.prof2 then raise_application_error(-20091, 'prof1 and prof2 should not be same'); end if; end if; end loop; end; /

يرجى تجربة هذا الكود المعدل وإعلامي إذا كان هناك أي مشكلة أخرى تحدث.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر