إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

استفسار في جملة Pl/sql


1 رد (ردود) على هذا الموضوع

#1 mido_develper

mido_develper

    عضو نشط

  • الأعضــاء
  • 236 مشاركة

تاريخ المشاركة 06 March 2009 - 06:12 PM

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

CREATE OR REPLACE TRIGGER derive_commission_pct
BEFORE INSERT OR UPDATE OF salary ON employees
FOR EACH ROW
WHEN (NEW.job_id = 'SA_REP')
BEGIN IF INSERTING THEN
:NEW.commission_pct := 0;
ELSIF :OLD.commission_pct IS NULL THEN
:NEW.commission_pct := 0;
ELSE
:NEW.commission_pct := :OLD.commission_pct + 0.05;
END IF;
END derive_commission_pct;
/



من فضلكم كان عندي استفسار بسيط في المثال السابق:

لماذا تم وضع ( : ) قبل old / new في الجزء ما بعد begin
ولم يتم وضع ( : ) قبل new في الجزء ما قبل begin


وجزاكم الله كل خي


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


---------------------------------------------------------------------------------------------

الهم استخدمنا ولا تستبدلنا وقنا عذاب النار

تم التعديل بواسطة mido_develper, 06 March 2009 - 06:12 PM.


#2 hrs

hrs

    عضو نشط

  • الأعضــاء
  • 282 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 16 March 2009 - 10:21 AM

توني قريت الملاحظة في الكتاب وتذكرت سؤالك
:(
يقولك كما في الكتاب:
in the when clause you omit the colon before new or old qualifier

تم التعديل بواسطة hrs, 16 March 2009 - 10:21 AM.