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

ما الخطا فى هذا الكود


محمد سعيد

Recommended Posts

Declare V_ename varchar2(30);
Begin
Select ename into v_ename From EmpASLI;
DBMS_output.put_line('Data Retrieval Completed');
Exception
When Too_Many_Rows then
DBMS_output.put_line(' There are many Rows ');
INSERT INTO MY_ERRORS
VALUES(SYSDATE,SQLCODE,SQLERRM);
END;
/
SELECT * FROM MY_ERRORS;



Declare V_ename varchar2(30);
Begin
Select ename into v_ename From EmpASLI;
DBMS_output.put_line('Data Retrieval Completed');
Exception
When Too_Many_Rows then
DBMS_output.put_line(' There are many Rows ');
INSERT INTO MY_ERRORS
VALUES(SYSDATE,SQLCODE,SQLERRM);
END;
/
SELECT * FROM MY_ERRORS;
رابط هذا التعليق
شارك

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

ضع sqlerrm و sqlcode في متغيرات .. ومن ثم ضع هذه المتغيرات في جملة Insert لجدول الاخطاء ..

مثال:

Declare
      V_col2 varchar2(30);
      v_sqlerrm varchar2(100):= sqlerrm;
      v_sqlcode varchar2(40):= sqlerrm;
Begin
     Select col2 into v_col2 From gt_tab1;
     DBMS_output.put_line('Data Retrieval Completed');

Exception
     When Too_Many_Rows then
     DBMS_output.put_line(' There are many Rows ');
     INSERT INTO gt_ERRORS VALUES (SYSDATE, v_SQLCODE, v_SQLERRM);

END;



انشالله يشتغل معاك

رابط هذا التعليق
شارك

السلام عليكم
الكود يعمل تمام لكن بيعمل INSERT لرقم 0صفر ليس لرقم الERROR

60356[/snapback]




لم استخدم الـ sqlcode من قبل ..
فما هو الرقم المتوقع ان يظهره بدل الصفر ؟
رابط هذا التعليق
شارك

هذا الكود الجديد ..
التغيير هو مكان اعطاء المتغيرات v_sqlerrm و v_sqlcode قيم الخطأ ورقمه .. فتم وضعه في الـ exception

جربه الان

Declare
      V_col2 varchar2(30);
      v_sqlerrm varchar2(100);
      v_sqlcode varchar2(40);
Begin
     Select col2 into v_col2 From gt_tab1;
     DBMS_output.put_line('Data Retrieval Completed');
Exception
     When Too_Many_Rows then
     DBMS_output.put_line(' There are many Rows ');
     v_sqlerrm := sqlerrm;
     v_sqlcode := sqlcode;
     INSERT INTO gt_ERRORS VALUES (SYSDATE, v_SQLCODE, v_SQLERRM);
END;

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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