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

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

صورة
- - - - -

مشكله فى هذا Function


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

#1 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 14 December 2009 - 02:14 AM

السلام على من اتبع الهدى


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
بالطريقه الاولى اشتغل
ارجو التوضيح

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#2 @nana@

@nana@

    عضو نشط

  • الأعضــاء
  • 284 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Don't Say ,I Don't Know..But Try&& Error :(
    I Adore Oracle 4 Ever :D

تاريخ المشاركة 14 December 2009 - 03:17 AM

ايوة لازم تكتب return statement ف الفانكشن ولازم تكون القيمة ال هترجع من نفس نوع ال حضرتك عرفته ف ال ديكليريشن

لان ال بيفرق بين ال function , procedure

ان ال function لازم ترجع قييييييييييييييييييمة


FatmaElgzar
https://www.facebook...acleJavaAcademy

http://www.facebook....gDream.Computer
Try 2 Change Ur Life 2 The Best
---------------------------------------
ياحى ياقيوم برحمتك أستغيث ، أصلح لى شأنى كله ولاتكلنى الى نفسى طرفة عين .

حسبى الله لااله الا هو ، عليه توكلت وهو رب العرش العظيم
--------------------------------------------------
905527214.gif


#3 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 14 December 2009 - 03:46 AM

السلام على من اتبع الهدى

معنى كده ان اى 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;
و شكر اا يا خى على اهتمامك

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#4 Shahrzad

Shahrzad

    عضو

  • الأعضــاء
  • 15 مشاركة

تاريخ المشاركة 14 December 2009 - 03:43 PM

مينفعش عشان
function must return a single value

#5 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 15 December 2009 - 04:09 PM

جزاك الله خير يا خى

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#6 sarah_dev

sarah_dev

    عضو

  • الأعضــاء
  • 4 مشاركة

تاريخ المشاركة 24 March 2010 - 10:54 PM

السلام عليكم اخ 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 error

and the result does not print in the screen


هو انت لما اشتغلت معك الفينكشين، غيرت فيها؟

ميش فاهمة المشكلة فين

thanks for you

تم التعديل بواسطة sarah_dev, 24 March 2010 - 11:24 PM.


#7 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 25 March 2010 - 03:06 AM

وعليك السلام يا خى واشكرك انك فكرتنى pl المشكله انى مكنتش RETURN N; الفنكشن لازم ترجع بقيمه لو لحظتى انا مكنتش حطط الحته RETURN N فى المتال الاول
لو فى امشكله اكتب كودك واحنا فى خدمتك
بالتوفيق

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة