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

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

صورة
- - - - -

سؤال عن تنفيذ امر Select علي البلوك

FRM-40735 ora-01 422

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

#1 HOPEFUL

HOPEFUL

    عضو

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

تاريخ المشاركة 09 May 2013 - 12:41 AM

عندما اكتب هذا الكود في الحدث  WHEN-NEW-FORM-INSTANCE

 

 
begin
GO_BLOCK('users');
EXECUTE_QUERY;


select FRM_ID,FRM_NAME into :FRM_ID,:FRM_NAME from forms;
 

EXCEPTION
    WHEN NO_DATA_FOUND THEN GO_BLOCK('forms');
 

 

CLEAR_BLOCK;

MESSAGE('no record');
 

 

END;

 

تظهر لي رساله الخطا 

FRM-40735:  trigger raised unhandled exception ora-01 422

 

ياترى اين الخطا هل في خصائص البلوك و ما هي الخصائص التي يجب ان اعملها لكي يقبل البلوك هذه الاوامر(select insert ...)

ارجو المساعده مع جزيل الشكر.



#2 n_qasrawi

n_qasrawi

    عضو

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

تاريخ المشاركة 09 May 2013 - 06:20 AM

المشكلة أن جملة ال select ترجع أكثر من record. يجب أن تضيف على ال exception:

 

when too_many_rows



#3 HOPEFUL

HOPEFUL

    عضو

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

تاريخ المشاركة 10 May 2013 - 10:47 AM

شكرا على تجاوبك قمت بحل المشكله بادخال الامر لوب وهذ الكود

 

declare
cursor cf is select *  from forms;
 
begin 
open cf;
first_record;
loop
fetch cf into :FRM_ID,:FRM_NAME;
exit when cf%notfound;
next_record;
end loop; 
close cf;
end;
 

ولكن تظهر لي نفس الرساله عند عملية الاضافه و الحذف حتى وان كان علي سجل واحد ارجو الاجابه 

وهل لتعدد البلوكات داخل الفورم علاقه بذلك وما الحل