الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يمكن إستخدام Select كشرط لجملة If؟

مغلق
بدأه SulanTechno في 9 ديسمبر 2004 · 6 رد · 1,092 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء

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

لعلي منذ زمن لم اشارك في هذا المنتدى وذلك لكثرة انشغالي..

لدي بيانات في جدول وأود إختبارها كشرط لجملة if فهل يمكن ذلك؟

مثلاً:

if emp_no in(select emp_no from wo2emp where yr=:yr and mnt=:mnt and emp_no=:emp_no);

بعد كتابة هذه الجملة لم تقبل مني فهل يوجد حل آخر؟

وشكراً

#2

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

أخي الكريم تستطيع أن تنشأ اجراء يحتوي على الشرطية if

والعمل الذي تريد تنفيذه اذا تحقق الشرط

اذا احببت اكتب لي ماذا تريد وسوف اكتب لك الاجرائية انشأ الله

أو تعلم PL/SQL

من خلال هذا الرابط

http://www.pafumi.net/PLSQL_Functions.html

وما من كاتب إلا سيبلى ويبقي الدهر ما كتبت يداه

فلا تكتب بكفك غير شيء يسرك في القيامة أن تراه

#3

السلام عليكم

يا أخي العزيز ممكن تعمل if في جملة select ولكن عن طريق أمر decode

وهذا مثال

select ename, deptno, sal,(decode(sal,(select max(sal) from emp),'"maxsalary"')) maxsalary  from emp;

حيث أن

decode format

Decode(value,if1,then1,if2,then2,if3,then3,.....,else)

وهذا مثال آخر

select rownum,decode(mod(rownum,5),0,rownum,null) line,sal,empno from emp;

وهذا يعني إذا كان رقم الصف يقبل القسمة على 5 والباقي يساوي صفر إذاً ضع رقم الصف وإلا لا تضع شيء

جرب الجملة وحتفهم لحالك

#4

السلام عليكم

يمكنك الاستعاضة عن ذلك عن طريق التالي:

DECLARE
V_COUNT NUMBER;
BEGIN
select COUNT(emp_no) 
INTO V_COUNT
from wo2emp where yr=:yr and mnt=:mnt and emp_no=:emp_no;
if V_COUNT > 0 THEN 
       --- WHAT YOU WANT TO DO HERE;
END IF;
....

END;

ما رأيك

سلام

#5

الاخ sam_t95 حل صحيح مائة بالمائة ولكن اذا اردت اجراء تعديل على كل الموظفين ولكن بواسطة استخدام if الشرطية فكيف ذلك .حيث ان مثالك لمستخدم واحد فقط

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

#6

السلام عليكم

سؤالك هذه المرة غير واضح نوعا ما ولكن

كرد سريع يمكنك عمل ذلك بواسطة عمل حلقة

loop

#7

ما اقصده يااخى اذا اردت ان تعدل على موظفين معينين وفق لشرط ما ودون استخدام الكيرسر هل يمكن ذلك .ولتقريب الصورة اكثر اذا اردت ان تقوم بمضاعفة اجور الموظفين الذين درجاتهم بين الدرجة التاسعة والسابعة من جدول الرواتب الذى يحتوى على

رقم الموظف -الدرجة - الراتب

ا

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

هذا الموضوع مغلق.

مواضيع مشابهة