الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Update

Featured Replies

بتاريخ:

السلام عليكم
ارجو مساعدتي في عمل كود
اريد عمل كود update وعندي 200.000 موظف وعندي 50 وظيفه واريد عمل كود update حيث يعمل على توزيع الوظائف على الموظفين عشوائي
ولكم جزيل الشكر والاحترام

  • بعد 2 أسابيع...
بتاريخ:

بسم الله الرحمن الرحيم

و عليكم السلام

بصراحة ... مش فاهم حاجة من كلامك ... ممكن توضح أكتر ؟

بتاريخ:

أخي العزيز سؤالك يتكون من جزئين

الجزء الاول عملية توزيع الوظائف بشكل عشوائي
الجزء الثاني عمية التعديل لكي نمنح كل موظف وظيفة.

الجزء الأول :

لكي نقوم بعملية التوزيع العشوائي يجب عمل جدول فيه الوظائف

CREATE TABLE JOBS AS SELECT DISTINCT(JOB)  FROM EMP;



حتى يكون محتوى الجدول بهذا الشكل

CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST



بعدل عمل الجدول نعمل function تقوم بتوزيع الوظائف بشكل عشوائي

create or replace function get_job return char
 is
 emp_job varchar2(9);
 begin
 select job into emp_job from (select job from jobs order by dbms_random.random)
 where rownum=1;
 return(emp_job);
 end get_job;



سوف ترى الفائدة منها لاحقا(في procedure في الجزء الثاني ).

الجزء الثاني :

لكي نقوم بعملية التعديل كما ذكرت انت يجب عمل جدول يحوي الموظفين و الوظائف

create table employes(
empl_name varchar2(10),
emp_job   varchar2(9));



بعد عمل الجدول نملئ الجدول بسجلات الموظفين

insert into employes(select ename,'' from emp);



بعد ملئ السجلات نعمل update للجدول ولاكن بأستخدام procedure مع دمج function السابقة :

create or replace procedure emp_job
  is
  cursor c1 is select emp_name
  from employes;
  newr c1%rowtype;
 begin
 open c1;
 loop
 fetch c1 into newr;
 exit when c1%notfound;
 update employes
 set job=get_job;
 where emp_name=newr.emp_name;
 end loop;
 commit;
 close c1;


 end;




و الان يصبح الناتج هكذا :

EMP_NAME   JOB
---------- ---------
SMITH	  CLERK
ALLEN	  ANALYST
WARD	   SALESMAN
JONES	  MANAGER
MARTIN	 MANAGER
BLAKE	  ANALYST
CLARK	  PRESIDENT
SCOTT	  PRESIDENT
KING	   PRESIDENT
TURNER	 CLERK
ADAMS	  ANALYST

EMP_NAME   JOB
---------- ---------
JAMES	  SALESMAN
FORD	   SALESMAN
MILLER	 CLERK




ملاحظ قد يختلف الناتج عندك لأن عملية التوزيع عملية عشوائية ............ تحياتي

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.