الانتقال إلى المحتوى
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.

تعبني هذا الكود في Pl/sql

Featured Replies

بتاريخ:

اخواني لدي الجدول التالي

CREATE TABLE EMP (EMPNO NUMBER(4) NOT NUL
                  ENAME VARCHAR2(10),
                JOB VARCHAR2(9),
              MGR NUMBER(4),
                  HIREDATE DATE,
                   SAL NUMBER(7, 2),
                   COMM NUMBER(7, 2),
                   DEPTNO NUMBER(2))




واخلت فيه البيانات التالية

SQL> INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK',    7902, TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
SQL> INSERT INTO EMP VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
SQL> INSERT INTO EMP VALUES (7521, 'WARD',  'SALESMAN', 7698, TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
SQL> INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER',  7839, TO_DATE('2-APR-1981',  'DD-MON-YYYY'), 2975, NULL, 20);
SQL> INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
SQL> INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
SQL> INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
SQL> INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
SQL> INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
SQL> INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);
SQL> INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
SQL> INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
SQL> INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
SQL> INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10

);



وبدي لعمل check على حقل HIREDATE واذا كان التاريخ يقع بين 1/1/1981-13/1/1981 يقوم بتعديل راتب الموظف الى 1000 وعملت الكود التالي بس ما عم يتنفذ معي

      declare
mar date;

cursor mo_cursor is
select to_char(hiredate,'dd/mm/yyyy') from emp;
begin
open mo_cursor;
loop
fetch mo_cursor into mar;
exit when mo_cursor%notfound;
if hiredate between to_char('1981/01/01','dd/mm/yyyy')
AND to_char('1981/12/31','dd/mm/yyyy'');
then
update  emp set sal = 100 where to_char(hiredate,'dd/mm/yyyy') = mar;
else
update  mohammed4 set sal = 50 where to_char(hiredate,'dd/mm/yyyy') = mar;
end if;
end loop;
close mo_cursor;
commit;
end;

بتاريخ:
  • كاتب الموضوع

اخوان ياريت حدى يعطيني جواب لان صارلي فترة وانا احاول ومافي نتيجة

بتاريخ:

السلام عليكم اخي

اكتب هذا الكود .. واخبرني النتيجة

DECLARE
cursor mo_cursor is
select to_DATE(hiredate,'dd/mm/RRRR') HIREDATE,SAL from emp;
begin
for rec_1 in mo_cursor loop
if rec_1.hiredate BETWEEN TO_DATE('01/01/1981','dd/mm/RRRR')
AND TO_DATE('13/01/1981','dd/mm/RRRR') then
update emp
set sal = 1000
WHERE HIREDATE = REC_1.HIREDATE;
else
null;
end if;
end loop;
COMMIT;
end;
/

تم تعديل بواسطة Abdallah.Hasan

بتاريخ:

اخي هناك ملاحظة

ان في التواريخ المدخلة لا يوجد إلا تاريخ واحد ضمن فترة التعديل

الرجاء ادخال بيانات اخرى ضمن الفترة ما بين 1/1/1981 و 13/1/1981

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

تم تعديل بواسطة Abdallah.Hasan

بتاريخ:
  • كاتب الموضوع

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


اخي الفاضل ممكن تتكرم على بأضافة شئ اخر الى الكود ، حيث اني عندما اكمل هذا الكود سأكون بأذن الله قد انهيت بحثي تقريبا في الجامعة
اذا ممكن عندما يتحقق الشرط اي اي عندما تكون بين مثلا 1/1/2000 - 1/1/2005 يتم تعديل الراتب sale الى 100 وفي نفس الوقت يتم تعديل الوظيفة job الى manager

اما اذا كان التاريخ بين 1/1/2006 الى 1/1/2010 يتم تعديل الراتب sale الى 200 وفي نفس الوقت يتم تعديل الوظيفة job الى clerk

حيث اني اريد ان اعمل اكثر من if اكثر من شرط وعمدما يتحقق كل منها يتم تعديل قيمة حقلين

بارك الله فيك وفي الجميع

بتاريخ:
  • كاتب الموضوع

اخي العزيز عبد الله جربت الكود واشتغل (تم النفيذ على اكمل وجه) اسال الله العظيم ان يرزقك في الدنيا حسنة وفي الاخرة حسنة ويقيك من عذاب النار انت ووالديك ومن تحب ويزيد من علمك وفهمك


اخي الفاضل ممكن تتكرم على بأضافة شئ اخر الى الكود ، حيث اني عندما اكمل هذا الكود سأكون بأذن الله قد انهيت بحثي تقريبا في الجامعة
اذا ممكن عندما يتحقق الشرط اي اي عندما تكون بين مثلا 1/1/2000 - 1/1/2005 يتم تعديل الراتب sale الى 100 وفي نفس الوقت يتم تعديل الوظيفة job الى manager

اما اذا كان التاريخ بين 1/1/2006 الى 1/1/2010 يتم تعديل الراتب sale الى 200 وفي نفس الوقت يتم تعديل الوظيفة job الى clerk

حيث اني اريد ان اعمل اكثر من if اكثر من شرط وعمدما يتحقق كل منها يتم تعديل قيمة حقلين

بارك الله فيك وفي الجميع
بتاريخ:
  • كاتب الموضوع


اخي العزيز عبد الله جربت الكود واشتغل (تم النفيذ على اكمل وجه) اسال الله العظيم ان يرزقك في الدنيا حسنة وفي الاخرة حسنة ويقيك من عذاب النار انت ووالديك ومن تحب ويزيد من علمك وفهمك


اخي الفاضل ممكن تتكرم على بأضافة شئ اخر الى الكود ، حيث اني عندما اكمل هذا الكود سأكون بأذن الله قد انهيت بحثي تقريبا في الجامعة
اذا ممكن عندما يتحقق الشرط اي اي عندما تكون بين مثلا 1/1/2000 - 1/1/2005 يتم تعديل الراتب sale الى 100 وفي نفس الوقت يتم تعديل الوظيفة job الى manager

اما اذا كان التاريخ بين 1/1/2006 الى 1/1/2010 يتم تعديل الراتب sale الى 200 وفي نفس الوقت يتم تعديل الوظيفة job الى clerk

حيث اني اريد ان اعمل اكثر من if اكثر من شرط وعمدما يتحقق كل منها يتم تعديل قيمة حقلين

بارك الله فيك وفي الجميع

بتاريخ:

السلام عليكم اخي الكريم

تفضل الكود ... جربه وأخبرني النتيجة :

DECLARE
cursor mo_cursor is
select to_DATE(hiredate,'dd/mm/RRRR') HIREDATE,SAL,Job from emp;
begin
for rec_1 in mo_cursor loop

if rec_1.hiredate BETWEEN TO_DATE('01/01/2000','dd/mm/RRRR')
AND TO_DATE('01/01/2005','dd/mm/RRRR') then
update emp
set sal = 100 , job = 'Manager'
WHERE HIREDATE = REC_1.HIREDATE;

elsif rec_1.hiredate BETWEEN TO_DATE('01/01/2006','dd/mm/RRRR')
AND TO_DATE('01/01/2010','dd/mm/RRRR') then
update emp
set sal = 200 , job = 'Clerk'
WHERE HIREDATE = REC_1.HIREDATE;

else
null;
end if;
end loop;
COMMIT;
end;
/

بتاريخ:
  • كاتب الموضوع

بارك الله فيك يأ اخ عبد الله وسدد خطاك وزادك علم

الكود اشتغل وتنفذ



اللهم ارزقنا حبك وحب من احبك وحب عمل صالح يقربنا الى حبك

اللهم وفق الاخ عبد الله ، وسهل امره في الدنيا والاخرة ، هو ووالديه وكافة المسلمين يا أرحم الراحمين

بتاريخ:

بارك الله فيك يأ اخ عبد الله وسدد خطاك وزادك علم

الكود اشتغل وتنفذ



اللهم ارزقنا حبك وحب من احبك وحب عمل صالح يقربنا الى حبك

اللهم وفق الاخ عبد الله ، وسهل امره في الدنيا والاخرة ، هو ووالديه وكافة المسلمين يا أرحم الراحمين


بارك الله فيك أخي الكريم ... بالتوفيق إن شاء الله :rolleyes:

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

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

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

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

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

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.