بتاريخ: 18 أكتوبر 200916 سنة comment_173367 اخواني السلام عليكمسؤالي في الـكاونت Countالكود التالي هو عمل count لرقم المنشأة من جدول المنشآت PROCEDURE CHK_Worker (idx number) IS cnt number; BEGIN cnt:=0; select count(idx) into cnt from MONSH where idx=:INFO.idc; if cnt >0 and :INFO.LIST212 =1 then next_item; else STOPMSG(29); end if; end; هذا الكود صحيحولكن لو أردت أن أعمل count لقيمتين سوياً هل يمكن ذلك ..؟ وكيف يتم ذلك اذا كان الجواب نعم ..أريده أن يعمل count لقيمتين , كيف يتم ذلك ..؟وشكرا لكم .. تم تعديل 18 أكتوبر 200916 سنة بواسطة PrisonBreak تقديم بلاغ
بتاريخ: 18 أكتوبر 200916 سنة comment_173372 السلام عليكم ياريت توضيح أكثر هل تريد وضع دالة ال count أكثر من مرة في الجملة ـ أم ماذاموفق تقديم بلاغ
بتاريخ: 18 أكتوبر 200916 سنة comment_173376 ممكن اخي الكريم توضح بزيادة لكي نستطيع مساعدتكاذا انا فهمت صح فانت تريد ان تعمل كما يلي :تريد ان توجد قيمة كاونت (x,y) معا؟؟؟ هل هذا ما تقصده؟؟ام كما سالك الاخ مصطفى ؟؟؟ تقديم بلاغ
بتاريخ: 18 أكتوبر 200916 سنة كاتب الموضوع comment_173423 وعليكم السلامنعم أخي أريد أن توجد قيمة كاونت ( x,y ) وأن تكونان سويا وأن تتحققا سويامثال بسيط ::- في جدول البيانات الأساسية قمت باستخدام دالة كاونت للتحقق من وجود رقم المنشأة في جدول المنشآت وأنه اذا كان موجود تظهر لي رسالة خطأ ..الذي أريده استخدام دالة كاونت للربط بين رقم الهوية ورقم المنشأة واذا كانتا موجودتين سويا في نفس الريكورد ( Record ) في جدول المنشآت تظهر لي رسالة خطأ لكن في حالة وجودة رقم المنشأة مربوط مع رقم هوية آخر غير الذي أدخله المستخدم لا تظهر لي رسالة خطأ ,,أي أنني لا أريد تكرار رقم المنشأة مع نفس رقم الهوية في الجدول وأن أسمح بتكراره مع أي رقم هوية آخر ..العملية كلها كاستخدام مفتاحين أساسيين في الجدول ( 2 primary key's ) ولكنني لا أستخدم أي مفتاح أساسي في الجدول نظرا لأنني أستخدم تراكم للسجلات عند التعديل ..وشكرا لكم تم تعديل 18 أكتوبر 200916 سنة بواسطة PrisonBreak تقديم بلاغ
بتاريخ: 18 أكتوبر 200916 سنة comment_173428 السلام عليكميامكانك اخي الاستغناء عن دالة COUNT وعمل فالديشن على الايتم...ببساطه اعمل CURSOR لاحضار ارقام المنشآت...ومن ثم قم بعمل LOOP يشييك على كل رقم منشأة مع رقم الهوية المدخل على الايتم..اذا وجد رقم منشأة + رقم الهوية المدخل على الايتم سابقا ... يعطيك رسالة خطأ...بالتوفيق تم تعديل 18 أكتوبر 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 19 أكتوبر 200916 سنة كاتب الموضوع comment_173476 السلام عليكميامكانك اخي الاستغناء عن دالة COUNT وعمل فالديشن على الايتم...ببساطه اعمل CURSOR لاحضار ارقام المنشآت...ومن ثم قم بعمل LOOP يشييك على كل رقم منشأة مع رقم الهوية المدخل على الايتم..اذا وجد رقم منشأة + رقم الهوية المدخل على الايتم سابقا ... يعطيك رسالة خطأ...بالتوفيق جربت أخي ولكن لم تعمل معي يحتمل أن يكون خطأ ماممكن مثال بسيط اخي بال على ذلك ..؟ تقديم بلاغ
بتاريخ: 19 أكتوبر 200916 سنة comment_173478 السلام عليكميمكنك استخدام هكذا declare x number(12); begin select count(*) into x from table_name where idx=:INFO.idc and hoya_no=:hoyan_no; if x>0 then ---- end if; end; اربط الشرطين في جملة ال where موفق تقديم بلاغ
بتاريخ: 19 أكتوبر 200916 سنة كاتب الموضوع comment_173491 السلام عليكميمكنك استخدام هكذا declare x number(12); begin select count(*) into x from table_name where idx=:INFO.idc and hoya_no=:hoyan_no; if x>0 then ---- end if; end; اربط الشرطين في جملة ال where موفق قمت بتجربة ذلك أخي مصطفى ولكن لم تفلح معي ولكن سأحاول مرة أخرى شكرا جزيلا لك أخي كنت أظن أن ربطهما في جملة where خطأ عندما لم تفلح معي ولكن سأحاول مرة أخرى تم تعديل 19 أكتوبر 200916 سنة بواسطة PrisonBreak تقديم بلاغ
بتاريخ: 19 أكتوبر 200916 سنة comment_173562 السلام عليكمجرب هذه الطريقة: Declare Cursor C Is Select Id_No, Cmp_No From Companies Where Id_No = :Blk_1.Id_No And Cmp_No = :Blk_1.Cmp_No; Begin For Rec In C Loop If Rec.Id_No = :Blk_1.Id_No And Rec.Cmp_No = :Blk_1.Cmp_No Then Message('Found Before'); Message(''); Raise Form_Trigger_Failure; End If; End Loop; End; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.