إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

ساعدوني في جملة Cursor


4 رد (ردود) على هذا الموضوع

#1 الحكيمي

الحكيمي

    عضو نشط

  • الأعضــاء
  • 428 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 11 April 2012 - 11:37 AM

بسم الله الرحمن الرحيم

الاخوة الاعزاء
انا كتبت الموضوع هذا في قسم الفورمز وساعدوني الاخوة في المنتدى لكن لم يكن هناك حل سليم
فقلت يمكن الاقي الحل في فسم pl/sql
الطلب هو الاتي

اريد عمل جملة cursor تقوم بارجاع كافة ارقم الاطباء من جدول المندوب للمتغير A
وبعدين عند ادخال الطباء في جدول المندوب تقوم بمقارنة رقم الطبيب الجديد مع ارقام الاطباء الموجودة مسبقا
بحيث انه اذا اظفت رقم طبيب مكرر تظهر لي رسالة تقول ان الرقم موجود مسبقا

انا كتبت الكود التالي ولكن هناك خطى فيه وهو ان الرساله تظهر في كل الاحوال سواء كان الطبيب مكرر ام غير مكرر

declare
cursor A is select all doc_no  from mandob_do
where :mandob_up.man_no=:mandob_do.man_no;
AA A%rowtype;
bb number;
begin open a;
fetch A into AA;
if (A%found ) then
bb:=show_alert('Refinry');
:mandob_do.doc_no:='';
:mandob_do.text_item68:='';
:mandob_do.man_no:='';
else
null;
end if;
end;

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

#2 Mahmoud Ahmed El-Sayed

Mahmoud Ahmed El-Sayed

    عضو نشط

  • الأعضــاء
  • 346 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Database Design, Programming and Sports

تاريخ المشاركة 11 April 2012 - 11:56 AM

<p>

بسم الله الرحمن الرحيم الاخوة الاعزاء انا كتبت الموضوع هذا في قسم الفورمز وساعدوني الاخوة في المنتدى لكن لم يكن هناك حل سليم فقلت يمكن الاقي الحل في فسم pl/sql الطلب هو الاتي اريد عمل جملة cursor تقوم بارجاع كافة ارقم الاطباء من جدول المندوب للمتغير A وبعدين عند ادخال الطباء في جدول المندوب تقوم بمقارنة رقم الطبيب الجديد مع ارقام الاطباء الموجودة مسبقا بحيث انه اذا اظفت رقم طبيب مكرر تظهر لي رسالة تقول ان الرقم موجود مسبقا انا كتبت الكود التالي ولكن هناك خطى فيه وهو ان الرساله تظهر في كل الاحوال سواء كان الطبيب مكرر ام غير مكرر

declare cursor A is select all doc_no from mandob_do where :mandob_up.man_no=:mandob_do.man_no; AA A%rowtype; bb number; begin open a; fetch A into AA; if (A%found ) then bb:=show_alert('Refinry'); :mandob_do.doc_no:=''; :mandob_do.text_item68:=''; :mandob_do.man_no:=''; else null; end if; end;
وجزاكم الله كل خير

</p>
<p style="text-align: left;">In where clause</p>
<pre class="prettyprint" style="text-align: left;">
<span>
<span class="kwd">where</span><span class="pln"> </span><span class="pun">:</span><span class="pln">mandob_up</span><span class="pun">.</span><span class="pln">man_no</span><span class="pun">=:</span><span class="pln">mandob_do</span><span class="pun">.</span><span class="pln">man_no</span><span class="pun">;</span>
</span>
You filter data only by man_no , is your data in table <span class="pln">mandob_do </span>unique <span class="pln"> by coloumn man_no only or there are another columns that are unique in this table</span>
</pre>

Mahmoud Ahmed El-Sayed

Senior Oracle Forms & ADF developer @ MCIT

Dive in Oracle Blog


#3 Mahmoud Ahmed El-Sayed

Mahmoud Ahmed El-Sayed

    عضو نشط

  • الأعضــاء
  • 346 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Database Design, Programming and Sports

تاريخ المشاركة 11 April 2012 - 11:56 AM

<p>

بسم الله الرحمن الرحيم الاخوة الاعزاء انا كتبت الموضوع هذا في قسم الفورمز وساعدوني الاخوة في المنتدى لكن لم يكن هناك حل سليم فقلت يمكن الاقي الحل في فسم pl/sql الطلب هو الاتي اريد عمل جملة cursor تقوم بارجاع كافة ارقم الاطباء من جدول المندوب للمتغير A وبعدين عند ادخال الطباء في جدول المندوب تقوم بمقارنة رقم الطبيب الجديد مع ارقام الاطباء الموجودة مسبقا بحيث انه اذا اظفت رقم طبيب مكرر تظهر لي رسالة تقول ان الرقم موجود مسبقا انا كتبت الكود التالي ولكن هناك خطى فيه وهو ان الرساله تظهر في كل الاحوال سواء كان الطبيب مكرر ام غير مكرر

declare cursor A is select all doc_no from mandob_do where :mandob_up.man_no=:mandob_do.man_no; AA A%rowtype; bb number; begin open a; fetch A into AA; if (A%found ) then bb:=show_alert('Refinry'); :mandob_do.doc_no:=''; :mandob_do.text_item68:=''; :mandob_do.man_no:=''; else null; end if; end;
وجزاكم الله كل خير

</p>
<p style="text-align: left;">In where clause</p>
<pre class="prettyprint" style="text-align: left;">
<span>
<span class="kwd">where</span><span class="pln"> </span><span class="pun">:</span><span class="pln">mandob_up</span><span class="pun">.</span><span class="pln">man_no</span><span class="pun">=:</span><span class="pln">mandob_do</span><span class="pun">.</span><span class="pln">man_no</span><span class="pun">;</span>
</span>
You filter data only by man_no , is your data in table <span class="pln">mandob_do </span>unique <span class="pln"> by coloumn man_no only or there are another columns that are unique in this table</span>
</pre>

Mahmoud Ahmed El-Sayed

Senior Oracle Forms & ADF developer @ MCIT

Dive in Oracle Blog


#4 asd202

asd202

    عضو نشط

  • الأعضــاء
  • 405 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 11 April 2012 - 11:57 AM

انت تريد عند اضافة رقم طبيب جديد يتاكد انه مش موجود قبل ذلك
declare
cursor A is select 1from mandob_do
where doc_no=:block_name.doc_no;
begin
for i in a loop
message('this doctor is already mandob');
message('this doctor is already mandob');
end loop;
end;
begin

for i in REVERSE 1..100000

loop

message('اللهم ارحمنا');

end loop;

end;

#5 الحكيمي

الحكيمي

    عضو نشط

  • الأعضــاء
  • 428 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 11 April 2012 - 05:56 PM

بسم الله الرحمن الرحيم

الاخ العزيز محمود الرد الي وصل منك غير واضح وكانه مكتوب بلقة php الكود مع الكلام

والاخ العزيز asd202 الكود ما اشتغل بالشكل المطلوب

وشكرا
قال هتلر في كتابه (حياتي) لقد كان في وسعي ان اقضي على كل يهود العالم لكني تركت بعضا منهم لتعرفو ....لماذا كنت ابيدهم