بتاريخ: 30 مايو 200718 سنة comment_100989 يا شباب اريد ان اسألكم عند جدولين m و b عملت تريقر عندما ادخل بيانات في m تدخل مباشرة في b بس عندي مشكلة صغيرة عندي بيانات مكررة في جدول m ولا اريد ان تتكرر في جدول bبمعنى عندما ادخل رقم 101 مثلا لاول مرة اريد هذه البيانات ان تدخل جدول b بس عندما ادخل هذا الرقم مرة اخرى في جدول m لا اريده ان يدخل في جدول b بمعنى اريد جدول m تتكرر فيه البيانات بينما جدول b لا يا شباب اريد الحل لاني تعبت وانا اكتب الكود لاحل هذه المشكلة ولكن بلا جدوىومشكوررين على الجهود الطيبة تقديم بلاغ
بتاريخ: 30 مايو 200718 سنة comment_101005 المشكلة سهلة الحل فقط تابع معي خطوة بخطوةلنفرض ان هذا الجدول هو M: create table m( m_id number(10), m_name varchar2(10)); و أن الجدول الأخر هو B : create table b( b_id number(10), b_name varchar2(10)) المطلوب أدخال البيانات نفسها التي في جدول M ولكن دون تكرار في جدول B .1- نعمل function تقوم بفحص جدول B لكي لا تتكرر القيم : create or replace function check_b(id_num number) return number is v_count number:=0; begin select count(*) into v_count from m where m_id=id_num; return(v_count+0); end; 2- نعمل trigger وندمج معاه function : create or replace trigger insert_to_b before insert on m for each row begin if check_b(:new.m_id)>=1 then dbms_output.put_line('you cant insert same record than once'); else insert into b values (:new.m_id,:new.m_name); end if; end; جرب الطريقة وخبرني ...................................... تقديم بلاغ
بتاريخ: 31 مايو 200718 سنة كاتب الموضوع comment_101102 مشكور اخي الكريم على هذه الاكوادوجزاك الله خيربس لو سمحت اريدك ان تشرح لي الFUNCTION اذا تكرمت تقديم بلاغ
بتاريخ: 31 مايو 200718 سنة comment_101108 حاضر راح اشرح الـ function :تستقبل function بارميتر وهذا الباراميتر يتم تمريره من خلال trigger في السطر if check_b(:new.m_id)>=1 then بعد إستقبال الباراميتر تقوم function بعملية الفحص إذا كان السجل قد تم إدخاله مسبقا في جدول m فإذا رجعت function بقيمة معناه أنه يوجد سجل أو اكثر يحمل نفس قيمة البارميتر(مما يؤدي لعدم إدخال البيانات في جدول b )أما إذا لم ترجع function بقيمة معناه انه لايوجد سجل في جدول m يحمل نفس قيمة البارميتر(مما يؤدي لإضافة البيانات في جدول b )أتمنى أن تكون الفكرة واضحة ................... تقديم بلاغ
بتاريخ: 1 يونيو 200718 سنة كاتب الموضوع comment_101124 مشكوور يا أخي وجزاك الله خير الجزاء تقديم بلاغ
بتاريخ: 3 يونيو 200718 سنة comment_101273 السلام عليكم ورحمة الله وبركاتهاخي الكريم sky information جزاك الله كل خير وبارك لك في اعمالك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.