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

مين يساعدني أين الخطأ اعتقد يقول فاصلة منقوطة


majed85

Recommended Posts

create or replace procedure Print_Fine_List( current_date DATE := SYSDATE )
IS
NUM NUMBER(2):= TO_NUMBER(TO_CHAR(REQ.request_date,'DD'); 
current_date := TO_NUMBER(TO_CHAR(current_date,'DD'); 
fine NUMBER(2) := 0;
total_fine NUMBER(2):= 0;
CURSOR corName IS 
select name from Borrower; brower_name Borrower%ROWTYPE;
CURSOR BOOTITLE IS
SELECT BOOk_title FROM BOOK; book_tit BOOK%ROWTYPE;
CURSOR REQCORSOR IS
SELECT request_date FROM Request ;
REQ Request%ROWTYPE;
BEGIN open corName;
 LOOP
   fetch corName INTO brower_name; EXIT WHEN  corName%NOTFOUND;
   dbms_output.put_line(brower_name.name);
 END LOOP;
 Close corName;
OPEN BOOTITLE;
loop
FETCH BOOTITLE INTO book_tit; EXIT WHEN BOOTITLE%NOTFOUND;
IF book_tit.BOOK_ID = BORROW.B_ID THEN
dbms_output.put_line(book_tit.BOOk_title);
ENDIF;
END LOOP;
CLOSE BOOTITLE;
IF BOOTITLE %ISOPEN THEN
CLOSE BOOTITLE;
OPEN REQCORSOR;
loop 
FETCH REQCORSOR INTO REQ ;
EXIT WHEN REQCORSOR%NOTFOUND;
fine := current_date - NUM ;
IF fine < 7 THEN
dbms_output.put_line('No fine');
ELSIF fine > 7 THEN
fine := fine - 7 ;
fine := fine * 10 ;
dbms_output.put_line('fine');
ENDIF;
total_fine := total_fine + fine ;
END LOOP;
CLOSE REQCORSOR;
EXCEPTION WHEN OTHERS THEN
IF REQCORSOR%ISOPEN THEN
CLOSE EQCORSOR;
dbms_output.put_line(total_fine);
END;
/



اكون له من الشاكرين أنا في انتظار الجواب ياليت يكون الان لأني على الموقع .............سوف أدعو له في ظهر الغيب

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

حضرتك معرف current_date من نوع date
دلوقتى حضرتك عامل متغير اسمه fine بس من نوع نمبر

fine := current_date - NUM ;
تاريخ -رقم هيرجع تاريخ ..يعنى المفروض المتغير يكون من نوع date
جرب .. وع اساسه غير الباقى ال ع fine

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

توجد اخطاء فى ترتيب الحل

وليس فى كتابة الاوامر فقط

اعرض فكرة السؤال .... حتى يمكن المساعدة

تم تعديل بواسطة Ahmed_oracle
رابط هذا التعليق
شارك

create or replace procedure Print_Fine_List( current_date DATE := SYSDATE )
IS
NUM NUMBER(2):= TO_NUMBER(TO_CHAR(REQ.request_date,'DD');
current_date := TO_NUMBER(TO_CHAR(current_date,'DD');
fine NUMBER(2) := 0;
total_fine NUMBER(2):= 0;
CURSOR corName IS
select name from Borrower; brower_name Borrower%ROWTYPE;
CURSOR BOOTITLE IS
SELECT BOOk_title FROM BOOK; book_tit BOOK%ROWTYPE;
CURSOR REQCORSOR IS
SELECT request_date FROM Request ;
REQ Request%ROWTYPE;
BEGIN open corName;
LOOP
fetch corName INTO brower_name; EXIT WHEN corName%NOTFOUND;
dbms_output.put_line(brower_name.name);
END LOOP;
Close corName;
OPEN BOOTITLE;
loop
FETCH BOOTITLE INTO book_tit; EXIT WHEN BOOTITLE%NOTFOUND;
IF book_tit.BOOK_ID = BORROW.B_ID THEN
dbms_output.put_line(book_tit.BOOk_title);
ENDIF;
END LOOP;
CLOSE BOOTITLE;
IF BOOTITLE %ISOPEN THEN
CLOSE BOOTITLE;
end if;
OPEN REQCORSOR;
loop
FETCH REQCORSOR INTO REQ ;
EXIT WHEN REQCORSOR%NOTFOUND;
fine := current_date - NUM ;
IF fine < 7 THEN
dbms_output.put_line('No fine');
ELSIF fine > 7 THEN
fine := fine - 7 ;
fine := fine * 10 ;
dbms_output.put_line('fine');
ENDIF;
total_fine := total_fine + fine ;
END LOOP;
CLOSE REQCORSOR;
EXCEPTION WHEN OTHERS THEN
IF REQCORSOR%ISOPEN THEN
CLOSE EQCORSOR;
dbms_output.put_line(total_fine);
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.

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

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

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