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

ما هو خطأ هذا الكود ..

Featured Replies

بتاريخ:

SELECT ersalia.no, ersalia.class, ersalia.name, ersalia.stat, ersalia.unit, ersalia.loc,come.cdate,come.medical,come.garaba
from ersalia,come,out
WHERE NVL(ersalia.no,0 )=NVL(:pno, NVL(ersalia.no, 0) )
AND NVL(ersalia.class, 'w')=NVL(:pclass, NVL(ersalia.class, 'w'))
AND NVL(ersalia.name, 'w') like NVL(:pname, NVL(ersalia.name, 'w'))
AND NVL(ersalia.stat, 'w')=NVL(:pstat, NVL(ersalia.stat, 'w'))
AND NVL(ersalia.unit, 'w')=NVL(:punit, NVL(ersalia.unit, 'w'))
AND NVL(ersalia.loc, 'w')=NVL(:ploc, NVL(ersalia.loc, 'w'))
and nvl(come.cdate,sysdate) between nvl(:pfrom,nvl(come.cdate,sysdate)) and nvl(:Pto,nvl(come.cdate,sysdate))
and ersalia.no=come.no
and ersalia.no=out.no

أريد عمل إستعلام من ثلاثة جداول ersalia - out - come

الجدول الأول خاص ببيانات المريض
الثاني خاص ببيانات الدخول
الثالث خاص ببيانات المغادرة ..

تربط جميعا عن طريق الحقل no وهو موجود في الجداول الثلاثة ..

أريد عند عمل إستعلام عن صفة معينة في الجدول الأول أو تاريخ الدخول ((في الجدول الثاني)) أو ((تاريخ المغادرة)) في الجدول الثالث يظهر لي مريض أو أثر تنطبق عليهم الصفة ..

حسب الكود السابق النتيجة تكون سليمة عندما يكون مفتاح البحث من الجدول الأول ولا تظهر قيمة إذا ان المفتاح في الجدول الثاني ..

الكود السابق لتقريب الفكرة وليس بالضرورة الكود السليم .. ما أريده في النهاية هو إستعلام عن معلومة أو أكثر من ثلاثة جداول مرتبطة



شئ آخر

أريد عمل حقل أكتب فيه رقم المريض وأضغط على زر يعطي رسالة عن تواجد المريض من عدمه ..

كتبت الكود التالي في التريجر

declare


n number
begin
if :no=any(select * from ersalia) then n:=show_alert('a') else
n:=show_alert('b') d



no: هو الحقل المعني

يعطي رسالة خطأ تقول أن ((ANY)) تعمل داخل جمل SQL فقط ..

تم تعديل بواسطة STAROSTA

بتاريخ:

السلام عليكم
بالسؤال الأول جرب استخدام Or بدلا من And.

والسؤال الثاني:

Select Count(*)
 Into dummy
 From Ersalia
Where No = :Blk_1.No;

If dummy = 0 Then
 Message('No Found');
 Message('No Found');
 Raise Form_Trigger_Failure;
End If;

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

روعة أستاذي .. سلمت على حلك للمشكلة الثانية ..

لكن الأولى يبدو أنني لم أشرحها بشكل واضح ..

إليكم هذا الكود الإفتراضي



SELECT a.x,b.x,c.x
from a,b,c
where NVL(a.x, 'w')=NVL(:pa, NVL(a.x, 'w'))
And NVL(b.x, 'w')=NVL(:pb, NVL(b.x, 'w'))
And NVL(c.x, 'w')=NVL(:pc, NVL(c.x, 'w'))
And NVL(a.x, 'w')= NVL(b.x, 'w')
And NVL(b.x, 'w')= NVL(c.x, 'w')[/size

]

الجداول هي A-B-C

كل جدول يحتوي على عمود ْX واعمدة أخرى .. أريد ربطها جميعا عن طريق العمود X

في حالة الإستعلام عن معلومة خاصة في أحد الجداول يرجع لي معلومات الجداول الثلاثة بناء على الربط ..

  • بعد 2 أسابيع...
بتاريخ:

ممكن تجرب بالشكل ده


select a.x, b.x,c.x from a,b,c
where a.x=b.x
and b.x=c.x

  • بعد 2 أسابيع...
بتاريخ:

ممكن فعلا تجرب كود الأستاذ Vaguezoro بس ياريت لو ماشتغلتش تفهمنا فعلا إنت عايز إيه بالظبط لإن كل الردود بناء على الجزء اللي فهمناه وياريت لو ترفع جزء من الشغل ده بحيث يمكن إكتشاف أخطاء أخرى ممكن تكون السبب في عدم نجاح الكود
شكراً

بتاريخ:

روعة أستاذي .. سلمت على حلك للمشكلة الثانية ..

لكن الأولى يبدو أنني لم أشرحها بشكل واضح ..

إليكم هذا الكود الإفتراضي



SELECT a.x,b.x,c.x
from a,b,c
where NVL(a.x, 'w')=NVL(:pa, NVL(a.x, 'w'))
And NVL(b.x, 'w')=NVL(:pb, NVL(b.x, 'w'))
And NVL(c.x, 'w')=NVL(:pc, NVL(c.x, 'w'))
And NVL(a.x, 'w')= NVL(b.x, 'w')
And NVL(b.x, 'w')= NVL(c.x, 'w')[/size

]

الجداول هي A-B-C

كل جدول يحتوي على عمود ْX واعمدة أخرى .. أريد ربطها جميعا عن طريق العمود X

في حالة الإستعلام عن معلومة خاصة في أحد الجداول يرجع لي معلومات الجداول الثلاثة بناء على الربط ..




السلام عليكم
أخي ... الجزئية التي طرحتها غير واضحه..
ارجو توضيح مطلبك بمثال عملي لكي يتم فهم المطلوب وحله ان شاءالله...
موفق

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

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

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

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

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

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.