sadlover بتاريخ: 20 مايو 2007 تقديم بلاغ مشاركة بتاريخ: 20 مايو 2007 السلام عليكم ارجو مساعدتي في عمل كود اريد عمل كود update وعندي 200.000 موظف وعندي 50 وظيفه واريد عمل كود update حيث يعمل على توزيع الوظائف على الموظفين عشوائي ولكم جزيل الشكر والاحترام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hamadaforever بتاريخ: 30 مايو 2007 تقديم بلاغ مشاركة بتاريخ: 30 مايو 2007 بسم الله الرحمن الرحيمو عليكم السلام بصراحة ... مش فاهم حاجة من كلامك ... ممكن توضح أكتر ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sky information بتاريخ: 30 مايو 2007 تقديم بلاغ مشاركة بتاريخ: 30 مايو 2007 أخي العزيز سؤالك يتكون من جزئين الجزء الاول عملية توزيع الوظائف بشكل عشوائيالجزء الثاني عمية التعديل لكي نمنح كل موظف وظيفة.الجزء الأول :لكي نقوم بعملية التوزيع العشوائي يجب عمل جدول فيه الوظائف 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 ملاحظ قد يختلف الناتج عندك لأن عملية التوزيع عملية عشوائية ............ تحياتي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.