بتاريخ: 13 ديسمبر 200916 سنة comment_179167 السلام على من اتبع الهدى 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 بالطريقه الاولى اشتغلارجو التوضيح تقديم بلاغ
بتاريخ: 14 ديسمبر 200916 سنة comment_179168 ايوة لازم تكتب return statement ف الفانكشن ولازم تكون القيمة ال هترجع من نفس نوع ال حضرتك عرفته ف ال ديكليريشن لان ال بيفرق بين ال function , procedure ان ال function لازم ترجع قييييييييييييييييييمة تقديم بلاغ
بتاريخ: 14 ديسمبر 200916 سنة كاتب الموضوع comment_179170 السلام على من اتبع الهدى معنى كده ان اى 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; و شكر اا يا خى على اهتمامك تقديم بلاغ
بتاريخ: 14 ديسمبر 200916 سنة comment_179230 مينفعش عشان function must return a single value تقديم بلاغ
بتاريخ: 24 مارس 201016 سنة comment_188179 السلام عليكم اخ 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 مارس 201016 سنة بواسطة sarah_dev تقديم بلاغ
بتاريخ: 25 مارس 201016 سنة كاتب الموضوع comment_188203 وعليك السلام يا خى واشكرك انك فكرتنى pl المشكله انى مكنتش RETURN N; الفنكشن لازم ترجع بقيمه لو لحظتى انا مكنتش حطط الحته RETURN N فى المتال الاول لو فى امشكله اكتب كودك واحنا فى خدمتك بالتوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.