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

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

صورة
- - - - -

ما الفرق بين هذين الأمرين


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

#1 new_koki

new_koki

    عضو

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

تاريخ المشاركة 15 June 2011 - 10:59 AM

عندما اقوم بكتابة هذا الكود
DECLARE
e_invalid_department EXCEPTION;
v_name VARCHAR2(20):='Accounting';
v_deptno NUMBER := 27;
BEGIN
UPDATE departments
SET department_name = v_name
WHERE department_id = v_deptno;
IF SQL%NOTFOUND THEN
RAISE e_invalid_department;
END IF;
COMMIT;
EXCEPTION
WHEN e_invalid_department
THEN DBMS_OUTPUT.PUT_LINE('No such department id.');
ROLLBACK;
END;
تخرج النتيجة كالتالى: No such department id
و عندما اقوم بتغيير الكود بهذا الشكل (مجرد تغيير فى ترتيب كتابة الأمر)
DECLARE
e_invalid_department EXCEPTION;
v_name VARCHAR2(20):='Accounting';
v_deptno NUMBER := 27;
BEGIN
IF SQL%NOTFOUND THEN
RAISE e_invalid_department;
END IF;
UPDATE copy_dept
SET department_name = v_name
WHERE department_id = v_deptno;
COMMIT;
EXCEPTION
WHEN e_invalid_department
THEN DBMS_OUTPUT.PUT_LINE('No such department id.');
ROLLBACK;
END;
تخرج النتيجة كالتالى Statement processed
لماذا ؟

#2 eslam elbyaly

eslam elbyaly

    عضو مميز

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

تاريخ المشاركة 15 June 2011 - 02:53 PM

السلام عليكم ورحمة الله وبركاته
انت بتعمل تحديث لبيانات فى جدولين مختلفين فى الحالة الاولى والتانية

وبعدين الاكسبشن فى الحالة التانية ملوش لزمة اصلا لانك ما جبتش سيرته بعد التحديث
راجع كده وشوف التحديث بيعمل ايه فى بيانات الجدول فى الحالة الاولى والتانية
السلام عليكم ورحمة الله وبركاته