الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو الخطأ في تنفيذ Bolck عبر SQLPLUS

بدأه gareb في 24 مايو 2007 · 2 رد · 2,097 مشاهدة · في قسم لغةالاجرائات Pl/sql
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بكتابة block للاستعلام عن الطلاب الموجودون في كورس معين وليكن CS420 ويمكن تنفيذه عن طريق SQLPLUS ولكن لم ينجح الامر ..

set serveroutput on format wrap size 1000000
ACCEPT courseID PROMPT 'Enter the course ID to dispaly all student Registed :   '
DECLARE 
cursor registry_cursor is select student_ID  from REGISTRED_TABLE , LECTURE_TABLE  where REGISTRED_TABLE.LECTURE_ID = LECTURE_TABLE.LECTURE_ID and LECTURE_TABLE.COURSE_ID = courseID;
  profVal registry_cursor%ROWTYPE;

BEGIN
  open registry_cursor;

  LOOP
		fetch registry_cursor into profVal;

		EXIT WHEN registry_cursor%NOTFOUND;

		select FIRST_NAME , LAST_NAME from STUDENT_TABLE where STUDENT_TABLE.STUDENT_ID = profVal.student_ID;

	END LOOP;

END;
/
#2
gareb كتب:
LOOP

fetch registry_cursor into profVal;

EXIT WHEN registry_cursor%NOTFOUND;

select FIRST_NAME , LAST_NAME from STUDENT_TABLE where STUDENT_TABLE.STUDENT_ID = profVal.student_ID;

END LOOP;

END;

/

استخدامك الل SELECT داخل ال LOOP غير صحيح يجب ان تحوي على متحولات تأخذ القيم من SELCET STATMENT باستخدام الكلمة المفتاحية INTO

INTO variable_name1,variable_name2

#3

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

مثال :

DECLARE

V_ENAME EMP.ENAME%TYPE ;

BEGIN

SELECT ENAME

INTO V_ENAME

FROM EMP

WHERE EMPNO = 7788 ;

LOOP

END LOOP ;

END ;

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…