mostfa_future بتاريخ: 13 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 13 ديسمبر 2009 السلام على من اتبع الهدى CREATE OR REPLACE function GET_JOB (V_JOB_ID VARCHAR2,R OUT VARCHAR2 )RETURN VARCHAR2 IS begin SELECT JOB_TITLE INTO R from JOBS WHERE JOB_ID = V_JOB_ID; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE ('IN VELD JOB_ID '); END; / DECLARE NN VARCHAR2(30); BEGIN GET_JOB ( 'AD_PRES' , NN ) ; END ; طلع معى GET_JOB ( 'AD_PRES' , NN ) ; * ERROR at line 4: ORA-06550: line 4, column 7: PLS-00103: Encountered the symbol "GET_JOB" when expecting one of the following: := . ( @ % ; The symbol ":=" was substituted for "GET_JOB" to continue. لما كتبته بهذى الطريقه اشتغل CREATE OR REPLACE function GET_JOB (V_JOB_ID VARCHAR2) RETURN VARCHAR2 IS N VARCHAR2(30); begin SELECT JOB_TITLE INTO N from JOBS WHERE JOB_ID = V_JOB_ID; RETURN N; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE ('IN VELD JOB_ID '); END GET_JOB; BEGIN :A := JOB_PKG.GET_JOB('AD_PRES' ) ; END ; /PRINT Aهل فى function لازم اعمل الجمله دى فى اخر الكود RETURN N;لان عمالتو PROCEDURE بالطريقه الاولى اشتغلارجو التوضيح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
@nana@ بتاريخ: 14 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 14 ديسمبر 2009 ايوة لازم تكتب return statement ف الفانكشن ولازم تكون القيمة ال هترجع من نفس نوع ال حضرتك عرفته ف ال ديكليريشن لان ال بيفرق بين ال function , procedure ان ال function لازم ترجع قييييييييييييييييييمة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mostfa_future بتاريخ: 14 ديسمبر 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 ديسمبر 2009 السلام على من اتبع الهدى معنى كده ان اى function فى جملتين return جمله فى ديكليريشن وجمله النتيجه دب لو عايز اجيب اكتر من قيمه متال لتوضيح لو عابز هذا PROCEDURE على هيئه function cREATE OR REPLACE PROCEDURE GET_EMPLOYEE (v_id number,v_JOB_ID out VARCHAR2, v_SALARY out number )IS begin SELECT JOB_ID, salary INTO v_JOB_ID,v_SALARY FROM employees WHERE employee_id = V_id; end; و شكر اا يا خى على اهتمامك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Shahrzad بتاريخ: 14 ديسمبر 2009 تقديم بلاغ مشاركة بتاريخ: 14 ديسمبر 2009 مينفعش عشان function must return a single value اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mostfa_future بتاريخ: 15 ديسمبر 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 15 ديسمبر 2009 جزاك الله خير يا خى اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sarah_dev بتاريخ: 24 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 24 مارس 2010 (معدل) السلام عليكم اخ mostfa_future CREATE OR REPLACE FUNCTION GET_JOB (v_job_id VARCHAR2) RETURN VARCHAR2 IS A VARCHAR2(35) ; begin select JOB_TITLE into A from hr.jobs E where E.job_id= v_job_id; return A; END GET_JOB ; DECLARE A VARCHAR2(35) ; BEGIN A:= GET_JOB ('SA_REP') ; end; PRINT A; / انا حليت السوال نفسو اللي انت حاطو هنا بالطريقة دي ، واتريها نفس حلك بس في مشكلة سواء الفينكشين تبعك او تبعي ، when I do excute , I have this error message: function created whith compilation errorand the result does not print in the screenهو انت لما اشتغلت معك الفينكشين، غيرت فيها؟ميش فاهمة المشكلة فينthanks for you تم تعديل 24 مارس 2010 بواسطة sarah_dev اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mostfa_future بتاريخ: 25 مارس 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 25 مارس 2010 وعليك السلام يا خى واشكرك انك فكرتنى pl المشكله انى مكنتش RETURN N; الفنكشن لازم ترجع بقيمه لو لحظتى انا مكنتش حطط الحته RETURN N فى المتال الاول لو فى امشكله اكتب كودك واحنا فى خدمتك بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.