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

سؤال : كيفية عمل معيار للبحث من عدة قيم ...مع استخدام DEFAULT_WHERE

Featured Replies

بتاريخ:

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

set_block_property('pers_tb',default_where,'AGE=:AGE AND CHILD_NO=:CHILD_NO AND GENDER_CD=:GENDER_CD AND EDU_CD=:EDU_CD');



اذا أردت أن أبحث عن عدد الأولاد والجنس والتخصص ولكن بشرط أن تكون أعمارهم أكبر من القيمة المدخلة في خانة العمر فما العمل ..؟
وواجهتني مشكلة أخرى وهي أنه في حالة عدم ادخال التخصص على سبيل المثال لا ينفذ الاستعلام مع العلم أنني أدخلت العمر وعدد الأولاد والجنس , أنا أريده فقط أن يبحث في القيم التي يدخلها المستخدم ولا يلتزم بادخال كل القيم الموجودة في جملة الشرط WHERE ما العمل في ذلك
أرجو المساعدة العاجلة ..

:unsure: :( :( :( :(

بتاريخ:

السلام عليكم
جرب الطريقة التالية:


set_block_property('pers_tb',default_where,'(AGE > :AGE) AND (CHILD_NO=:CHILD_NO OR :CHILD_NO IS NULL) AND (GENDER_CD=:GENDER_CD OR :GENDER_CD IS NULL) AND (EDU_CD=:EDU_CD OR EDU_CD IS NULL)');



وضيف اسماء البلوك قبل الايتم افضل...

بالتوفيق

تم تعديل بواسطة PALI.ORACLE

بتاريخ:

ممكن انه تجمع جملة الشرط في متغير و انتا بتكون فحصت كل حقل ازا فاضي او لا
هذا الكود ان شاء الله يفيدك

declare
frm_where varchar2(500);
begin frm_where := '1=1';

if :age is not null then 
	frm_where := frm_where||' and age > :age';
end if;

if :child_no is not null then 
	frm_where := frm_where||' and child_no = :child_no';
end if;

if :gender_cd is not null then 
	frm_where := frm_where||' and gender_cd = :gender_cd';
end if;
	
if :edu_cd is not null then 
	frm_where := frm_where||' and edu_cd = :edu_cd';
end if;

Set_Block_Property('block_name', ONETIME_WHERE, frm_where); 
Go_block('block_name'); 
Execute_Query();
end;

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

أخي بال وأخي سوبر
لم تفلح هذه الطرق معي
شكرا جزيلا على المحاولة

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

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

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

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

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

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.