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

Dynamic Cursor

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أخواني الكرام عندي مشكلة بسيطة الرجاء المساعدة إن أمكن أنا عامل كود فيه بلكين داخل بعض يعني مثال
DECLARE
X NUMBER;

BEGIN

DECLARE
Y NUMBER;

BEGIN

END ;

END;
المشكلة انه في البلوك التاني عرفت CURSOR ولكن أنا أريد وتكوين الكيرسر ماعليه أي مشكلة ولكن بحاول أخلي الكيرسر يجيب البيانات تصاعدي أو تنازلي حسب متغير من البلوك الثاني حيث أني عرفت متغير من نوع VARCHAR2 باسم V_ORDER حسب البراميتر الممر يأخذ قيمة مثلا إذا كان 1 يأخذ قيمة ASC وإذا كان 2 يأخذ قيمة DESC
وكتبت الكيرسر في البلوك الثاني هكذا
CURSOR cm1 is SELECT room_no ,room_type_no
FROM hotel
WHERE room_type_no = v_g_way1_room_type
ORDER BY || V_ORDER ;
ولكن تم تجاهل المتغير الV_ORDER في تعريف الCURSOR ولم يحصل اي ترتيب فما الحل ياشباب
أنا ماحبيت أرسل كل الكود فقط حبيت أوضح المشكلة لأن الكود مطول أكثر من ذلك
فمن كان عنده فكرة كيف نسطيع جعل جملة ORDER BY دايناميكية حسب المتغير الرجاء مساعدتي
والسلام عليكم ورحمة الله وبركاته

بتاريخ:

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

بتاريخ:

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

بتاريخ:

حسب معلوماتي
لايمكن وضع متحول في الـ order by clause في هذا الشكل
يمكن أن تحل المشكلة كالتالي
الحل الأول كتابة if متابة ال Cursor مرتين وكل مرة بترتيب معين
الحال الثاني استخدام ال Record Group وفيه يمكنك بناء تعليمة الـ SQL في وقت التنفيذ

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

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شكرا لك اخي الكريم phsoft على المشاركة وعلى مشاركة كل الزملاء
المشكلة أن الRECORD GROUP تقوم بعمل جملة SELECT ولا تقوم بعمل CURSOR
والسلام عليكم ورحمة الله وبركاته

بتاريخ:

السلام عليكم حل ذلك استخدام 2 cursor كل منهم بترتيب مختلف و بناء علي بارمتر معين تقوم بفتح احدهما و العمل عليه حسب الترتيب الذي تريده
بالتوفيق

بتاريخ:

أخي العزيز
صحيح الكلام ولكن الميزة بإمكانية كتابة كامل تعليمة الـ Select بشكل متبدل و في زمن التنفيذ
و يمكن التحرك ضمنها عن طريق Loop بسيط

بتاريخ:

السلام عليكم

الأخ phsoft هلا فيك
و لكن الريكورد جروب يمكن استخدامها فقط علي الفورم
فماذا اذا كان الcursor المطلوب يوجد في stored procedure

الا اذا كنت تقصد استخدام ديناميك select مثلا و ان كنت ارجو توضيح
كيفية معالجة مشكلة الترتيب اذا تم استخدام ديناميك سيليكت ؟
بالتوفيق

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

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أخواني الكرام المشكلة أتوقع في الcursor وليس في جملة select العادية يعني ممكن الselect في الrecord group تحل المشكلة ولكن نحن بصدد تعريف cursor دايناميك في أخوة من الإخوان قال بعمل 2cursor هي فكرة مستخدمة حاليا لدي ولكن أنا طرحت هذا الموضوع للتقليل من عدد الكيرسرات المعرفة
وشكرا للجميع

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

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

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

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

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

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.