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

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

صورة
- - - - -

ازاى باستخدام procedure احسب اكبر اداره فيها موظفين


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

#1 romio2005

romio2005

    عضو

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

تاريخ المشاركة 10 December 2009 - 01:55 PM

"]ازاى باستخدام procedure
احسب اكبر اداره فيها موظفين
[/size]

شكرا جزيلا على خدماتكم
مهندس وائل الجمل


#2 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 10 December 2009 - 02:13 PM

السلام عليكم
ضع جملة السيليكت هذه في بروسيجر ...

Select Deptno, Count(Empno) No_Of_Employees
  From Emp
 Group By Deptno
 Having Count(Empno) = (Select Max(Count(Empno)) From Emp Group By Deptno)

تحياتي

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#3 romio2005

romio2005

    عضو

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

تاريخ المشاركة 10 December 2009 - 02:51 PM

انا عملت الكود ده
create or replace procedure emp_no is
begin Select Department_id, Count(Employee_id) No_Of_Employees
From Employees Having Count(Employee_id) = (Select Max(Count(Employee_id)) From Employees) Group By (Department_id);
end;

بس طلع رسائل خطأ

Warning: Procedure created with compilation errors.
Errors for PROCEDURE EMP_NO:

LINE/COL ERROR
3/1 PLS-00428: an INTO clause is expected in this SELECT statement

شكرا جزيلا على خدماتكم
مهندس وائل الجمل


#4 sameh_oracle

sameh_oracle

    مشترك

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

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

CREATE OR REPLACE PROCEDURE emp_no
IS
v_count NUMBER;
v_dept_id employees.department_id%TYPE;
BEGIN SELECT department_id, COUNT (employee_id) no_of_employees
INTO v_dept_id, v_count
FROM employees HAVING COUNT (employee_id) = (SELECT MAX (COUNT (employee_id))
FROM employees) GROUP BY department_id;
END;


كان لازم تعرف variables ترجع فيها رقم الادارة وعدد الموظفين

#5 romio2005

romio2005

    عضو

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

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

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

شكرا جزيلا على خدماتكم
مهندس وائل الجمل


#6 mostfa_future

mostfa_future

    عضو مميز

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

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

جرب هذا الكود كده
select Department_id From Employees where Department_id =
Select max(Count(EMPLOYEE_ID))
From Employees Group By (Department_id);

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


صورةصورة


#7 romio2005

romio2005

    عضو

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

تاريخ المشاركة 10 December 2009 - 07:23 PM

جرب هذا الكود كده

select Department_id From Employees where Department_id =
Select max(Count(EMPLOYEE_ID))
From Employees Group By (Department_id);




مش شغال
انا عايز حد يفهم اللى انا عايزه
الكود بتاع الاخ سامح شغل بس انا عايزه يطبع رقم الاداره اللى فيها كبر عدد موظفين وكمان يقولى العد كام

شكرا جزيلا على خدماتكم
مهندس وائل الجمل


#8 ahmedkhaled

ahmedkhaled

    عضو نشط

  • الأعضــاء
  • 264 مشاركة
  • الاسم الأول:Ahmed
  • اسم العائلة:Khaled
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle developer

تاريخ المشاركة 10 December 2009 - 10:00 PM

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


declare 
x varchar2(300);
begin 
select max(count(department_id)) from departments 
into x

Group By departmen_id;
en
d;

تم التعديل بواسطة ahmedkhaled, 10 December 2009 - 10:00 PM.


#9 romio2005

romio2005

    عضو

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

تاريخ المشاركة 10 December 2009 - 10:58 PM

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


declare 
x varchar2(300);
begin 
select max(count(department_id)) from departments 
into x

Group By departmen_id;
en
d;


يااخى ما هذا الكود ده بيحسب عدد الادارات
انا اريد ان احسب اكبر اداره فيها اكبر عدد من الموظفين
وكمان اطبع اسم الاداره وعدد الموظفين

هل لا يوجد احد يستطي ايجاد هذا الكود ده الى الاخبراء

شكرا جزيلا على خدماتكم
مهندس وائل الجمل


#10 mmsalman87

mmsalman87

    عضو مميز

  • الأعضــاء
  • 1,689 مشاركة
  • الاسم الأول:Maher
  • اسم العائلة:Salman
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle HCM SaaS Pre Sale Consultant

تاريخ المشاركة 10 December 2009 - 11:08 PM

مشاركة الاخ pal oracle
تعطيك ما تريد وانا جربتها وشغال تمام

                                                                                             

                                                                                                                  Maher Salman

• Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist 

Taleo (TEE): Onboarding Administration Ed 3 LVC, Oracle University.

• Taleo (TBE): Recruit Essentials Ed 4.1 LVC, Oracle University.

• Oracle Fusion HCM Implementation, Oracle University.

• Oracle Certified Professional Developer (OCP) - Oracle Forms: Build Internet Applications.

• Oracle Certified Associate Developer (OCA).

• Oracle E-Business Suite R12 Human Capital Management Certified Implementation Specialist (HCM)

                                                                                                                                        
                                                                                                           http://learnoracle.net                                                                                                                

                                                                                                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

أهم مواضيعي ( Oracle Developer )

- برنامج حفظ الكودات - My Codes

- كيفية عمل نظام متعدد اللغات

- انشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين

- Import And Export On Toad

- التحكم في النظام من خلال الملف Formsweb.cfg

​- Advanced Dynamic List

- توليد ارقام وحروف عشوائية 

 

 

أهم مواضيعي ( Oracle HRMS)

 

Using Special Value set in oracle hrms 


#11 malik alwadi

malik alwadi

    عضو نشط

  • الأعضــاء
  • 371 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Internet Browsing

تاريخ المشاركة 11 December 2009 - 12:07 AM

Create Or Replace Procedure Max

Is

vn	NUmber;

vn2   Number;

vv	Varchar2(20);

Begin

Select Deptno, Count(Empno)

  Into vn,vn2

  From Emp

Group By Deptno

Having Count(Empno) = (Select Max(Count(Empno))

						 From Emp

						 Group By Deptno);

If Vn>0 Then

Select Dname

  Into vv

  From Dept

  Where Deptno=vn;

End If;

Dbms_Output.Put_Line(vn||'   '||vn2||'   '||vv);

End;

لا الله الا انت سبحانك اني كنت من الظالمين


#12 habash1986

habash1986

    عضو

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

تاريخ المشاركة 11 December 2009 - 12:38 AM

اخي معليش انا لسى متبدأ لكن حسب ما فهمت انك تريد طباعة نتائج الكود اللي كتبه الاخ سامح

طيب اذا كنت تشتغل ببيئة SQL plus او iSQL plus جرب الكود التالي

اولا ً اجريت بعض التعديلات على الكود باضافة باراميترات من نوع آوت كي تستطيع اخراج النتائج الى خارج البروسيجر

create or replace procedure max_dept
   (p_dname out employees.department_id%type,
	p_count out number)
 is
 begin
   SELECT department_id, COUNT (employee_id)
   INTO p_dname , p_count
   FROM employees
   HAVING COUNT (employee_id) = (SELECT MAX (COUNT (employee_id))FROM employees GROUP BY department_id)
   GROUP BY department_id;
  end;
/


ثانيا باستخدام هذا البرنامج تستطيع طباعة النتائج

declare
  v_dname employees.department_id%type;
  v_count number;
begin
   max_dept(v_dname,v_count);
   dbms_output.put_line('Department NO. '||v_dname||chr(10)||'Employees number '||v_count);
 end;
/

اهم شي لا تنسى تفعل امر الطباعة من برنامج الsql plus

options
Environment
serveroutput
اختار custom ثم on


جربت الكودين و نجحت العملية 100% و الصورة بالمرفقات توضح النتيجة


بالتوفيق

ملفات مرفقة

  • ملف مرفق  attempt.JPG   96.87كيلو   27 عدد مرات التحميل

تم التعديل بواسطة habash1986, 11 December 2009 - 12:54 AM.


#13 romio2005

romio2005

    عضو

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

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

اخي معليش انا لسى متبدأ لكن حسب ما فهمت انك تريد طباعة نتائج الكود اللي كتبه الاخ سامح

طيب اذا كنت تشتغل ببيئة SQL plus او iSQL plus جرب الكود التالي

اولا ً اجريت بعض التعديلات على الكود باضافة باراميترات من نوع آوت كي تستطيع اخراج النتائج الى خارج البروسيجر

create or replace procedure max_dept
   (p_dname out employees.department_id%type,
	p_count out number)
 is
 begin
   SELECT department_id, COUNT (employee_id)
   INTO p_dname , p_count
   FROM employees
   HAVING COUNT (employee_id) = (SELECT MAX (COUNT (employee_id))FROM employees GROUP BY department_id)
   GROUP BY department_id;
  end;
/


ثانيا باستخدام هذا البرنامج تستطيع طباعة النتائج

declare
  v_dname employees.department_id%type;
  v_count number;
begin
   max_dept(v_dname,v_count);
   dbms_output.put_line('Department NO. '||v_dname||chr(10)||'Employees number '||v_count);
 end;
/

اهم شي لا تنسى تفعل امر الطباعة من برنامج الsql plus

options
Environment
serveroutput
اختار custom ثم on


جربت الكودين و نجحت العملية 100% و الصورة بالمرفقات توضح النتيجة


بالتوفيق



اخى العزيز habash1986
هذا ما كنت اتكمناه بالظبط شكرا جزيلا والى الامام ولا تحرمنا من اجاباتك المتميزه

شكرا جزيلا على خدماتكم
مهندس وائل الجمل


#14 mostfa_future

mostfa_future

    عضو مميز

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

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

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

Select Department_id, Count(Employee_id) No_Of_Employees
From Employees
Group By Department_id
Having Count(Employee_id) = (Select Max(Count(Employee_id)) From Employees Group By Department_id)


جرب كد وانشالله شغال
الكود بتاع الاخ PALI.ORACLE

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


صورةصورة


#15 habash1986

habash1986

    عضو

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

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

العفو اخي و ما عملنا غير الواجب و اي سؤال تاني انا حاضر

بس سؤال اسمحلي , لك الحرية في الاجابة عليه

لماذا كنت تريد هذا الكود ؟