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

مشكله في ال Cursor

Featured Replies

بتاريخ:

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

ياشباب عندي Cursor  بيمشي على مجموعه من السجلات

وكل مره يأخذ فيها سجل يقوم بدإخاله في جدول ما إذا تحقق الشرط بمعنى أن هناك شرط قبل غدخال السجل في الجدول.

المشكله هي أني أريد إذا لم يتحقق الشرط في السجل يتجاهل السجل ويأخذ السجل الذي بعده.

لأن البرنامج يعطي خطأ عند الوقوف على هذا السجل.

بإختصار يعني البرنامج يعمل Skip لهذا السجل ويكمل السجلات الأخرى.

بتاريخ:

على سبيل المثال اخي العزيز عندي جدول الموظفين اسمه emp  وجدول ثاني للموظفين اسمه t_emp

 

واريد Cursor يمر على كل السجلات الموجودة في جدول emp

 

واي سجل فيه الراتب اكبر من 1000 يعمل اضافة في الجدول الاخر t_emp   كالتالي

declare
cursor c is
select *
from emp;
a c%rowtype;
begin
open c;
loop
fetch c
into a;
if a.sal > 1000 then
insert into t_emp(EMPNO,ENAME,JOB)
values(a.EMPNO,a.ENAME,a.job);
else
null;
end if;
exit when c%notfound;
end loop;
end;

 

 

 

 

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

أشكرك اخي العزيز على الرد

لكن بإعتبار أنه لم اضع ال WHERE  في ال SELECT

كيف يمكنني أن أجعل ال CURSOR  يتجاهل السجل ويكمل المرور على باقي السجلات

بتاريخ:

انا مش فاهم حاجة , حضرتك بتقوله بفرض اني موضعتش الـ where في الـ select وهو اصلا مش حاططها , تيجي ازاي دي !!

ثانيا : الكود المفروض يشتغل زي الفل من غير الـ else null

وهيعدي السجلات اللي مش هتوافق الشرط عادي جدا , وده الطبيعي اصلا

اللي هيقابل الشرط هيحطه في الجدول التاني , واللي مش هيقابل , اللوب هيلف تاني ويعمل fetch لتاني صف

بتاريخ:

اخى العزيز اخوناmiash80 لم يقوم بوضع where in select جرب التطبيق على المثال السابق وان شاء الله هتظبط معاك ولو فى اى حاجة واجهتك انا اوصل معاك على برنامج Team Viewer 8 وان شاء الله احل معاك المشكلة

بتاريخ:

أشكرك اخي العزيز على الرد

لكن بإعتبار أنه لم اضع ال WHERE  في ال SELECT

كيف يمكنني أن أجعل ال CURSOR  يتجاهل السجل ويكمل المرور على باقي السجلات

 

 

العفو اخي الفاضل

 

لكني لم اضع جملة شرط في جملة الاستعلام

 

وانا وضعت شرط اذا اكبر من 1000 اضف هذا السجل في جدول اخر

 

واذا لم يتحقق الشرط null  يعني لا تعمل اي شيئ 

 

ووضعت داخل الــ Cursor لوب يعني امشي على جميع السجلات 

 

يعني رح يمر على جميع السجلات اذا تحقق الشرط اضاف سجل واذا لم يتحقق لا يعمل أي شي

 

 

اتمنى ان اكون اوصلت الفكرة

بتاريخ:

انا مش فاهم حاجة , حضرتك بتقوله بفرض اني موضعتش الـ where في الـ select وهو اصلا مش حاططها , تيجي ازاي دي !!

ثانيا : الكود المفروض يشتغل زي الفل من غير الـ else null

وهيعدي السجلات اللي مش هتوافق الشرط عادي جدا , وده الطبيعي اصلا

اللي هيقابل الشرط هيحطه في الجدول التاني , واللي مش هيقابل , اللوب هيلف تاني ويعمل fetch لتاني صف

 

 

كلامك صحيح اخي العزيز

 

الكود بيشتغل من دون else   بس كان هدفي اوصل معلومة للأخ بالكود

 

لانه بصيغة سؤاله 

 

المشكله هي أني أريد إذا لم يتحقق الشرط في السجل يتجاهل السجل ويأخذ السجل الذي بعده.

 

اذا لم يتحقق الشرط يعني Else حبيت اسهل عليه الموضوع

بتاريخ:

اخى العزيز اخوناmiash80 لم يقوم بوضع where in select جرب التطبيق على المثال السابق وان شاء الله هتظبط معاك ولو فى اى حاجة واجهتك انا اوصل معاك على برنامج Team Viewer 8 وان شاء الله احل معاك المشكلة

 

 

مشكور اخي على التوضيح

 

والله يجزيك الخير على مساعدة اخوانك في هذا المنتدى الطيب

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

أشكركم جميعا على الرد.

والمعلومه وصلت بشكل جيد.

 

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

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

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

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

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

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.