بتاريخ: 30 مايو 201312 سنة comment_236830 اريد ان اعمل FUNCTIOM تعطيها رقم الموظف تقوم باسترجاع اسمه ووظيفته ومرتبه تقديم بلاغ
بتاريخ: 3 يونيو 201312 سنة comment_237065 اخي العزيز محمد بخصوص ما تريد تنفيذه فعمل function لا يفي بالغرض فكما تعلم انه الـ functions تقوم بإعادة قيمه واحده ولا يمكنها ارجاع اكثر من قيمه ( يلجأ بعض الناس الى اعادة اكثر من قيمه بفصلهم برموز خاصه ثم يقوم بتقطيع هذه المعلومه للحصول على ما يريد وانا لا افضل هذه الطريقة ) الحل المثالي هو عمل procedure فكما تعلم بأن الـ procedure يمكنه اعاده اكثر من قيمه عن طريق تمرير البيانات (parameters) وهنا سأقوم بعمل مثال بسيط لما تريد المطلوب عمل procedure يستقبل رقم الموظف ويعيد بيانات عنه بغض النظر عن هذه البيانات اولا الصيغة العامه لأنشاء procedure هي CREATE [OR REPLACE] PROCEDURE procedure_name [ (parameter [,parameter]) ] IS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [procedure_name]; الكود CREATE OR REPLACE PROCEDURE get_emp_info(p_emp_id number,p_emp_name out varchar2,p_emp_gender out varchar2) IS tmp_name varchar2(200); tmp_gender varchar2(7); BEGIN select ename,decode(gender,1,'male',2,'female') into tmp_name,tmp_gender from emp where emp_id=p_emp_id; p_emp_name:=tmp_name ; p_emp_gender:=tmp_gender ; END get_emp_info; تقديم بلاغ
بتاريخ: 2 أغسطس 201312 سنة comment_238971 create or replace function get_emp_date (p_num number ) return varchar2 is v_data varchar2(200); v_job varchar2(200); v_sal varchar2(200); begin select ename, job, sal into v_data , v_job, v_sal from emp where empno = p_num; return v_data || ' '||v_job || ' '|| v_sal ; end get_emp_date ; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.