RTL بتاريخ: 1 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 1 مايو 2010 مرحباالسلام عليكمهل يمكننا ان نكتب تريجر يجمع بين امرين؟مثلا لدي جدولان يوجد باحدها forign key من الجدول الاخرواريد مثلا منع حذف اي صف من الجدول الاساسي وكذلك منع اي تعديل على احد attributeالخاصه فيه لنفرض مثلا name ..هل يمكن جمع هذان الشرطان مع بعض؟؟ام احتاج لعمل 2trigger احدهما يمنع الحذف والاخر يمنع تعديل الاسم؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mageed_ahmed بتاريخ: 2 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 2 مايو 2010 سؤالك رائع والاجابة يمكن لكن سأترك لك مساحة التفكير في كيفية عمل ذلك بنفسك لكنه مؤكد يمكن ولك أن تعلم في عالم البرمجة Your Limitation is your imaginationأتركك مع مثال لذلك وبالتوفيق SQL> SQL> SQL> SQL> CREATE TABLE myTable1 (a INTEGER, b CHAR(10)); Table created. SQL> SQL> CREATE TABLE myTable2 (c CHAR(10), d INTEGER); Table created. SQL> SQL> SQL> CREATE TRIGGER trig1 2 AFTER INSERT ON myTable1 3 REFERENCING NEW AS newRow 4 FOR EACH ROW 5 WHEN (newRow.a <= 10) 6 BEGIN 7 INSERT INTO myTable2 VALUES(:newRow.b, :newRow.a); 8 END trig1; 9 Trigger created. SQL> SQL> insert into myTable1 values(1,'a'); 1 row created. SQL> insert into myTable1 values(2,'b'); 1 row created. SQL> SQL> select * from myTable1; A B ---------- ---------- 1 a 2 b SQL> select * from myTable2; C D ---------- ---------- a 1 b 2 SQL> SQL> drop table myTable1; Table dropped. SQL> drop table myTable2; Table dropped. SQL> اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
RTL بتاريخ: 2 مايو 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 2 مايو 2010 شكرا جزيلا استاذي الفاضل سررت كثيرا بأن هناك من رد على سؤالي بالنسبة للكود الذي وضعته فهمته قمت بتعبئه بيانات الجدول الثاني بعد تعبئة الجدول الاول باستخدام نفس القيم لكني لم استطع تفسير سؤالي بناء على مااوضحت لي فمثلا لو قمت بعمل CREATE OR REPLACE TRIGGER trg_deltest BEFORE DELETE ON test FOR EACH ROW WHEN (OLD.name = 1) BEGIN raise_application_error (-20100, 'You can not delete '); END; / هنا استطيع منع اي حذف يتم بناء على الشرط لكن عملية الجمع بين منع الابديت على متغير محدد مثل النيم ومنع حذف اي صف من نفس الجدول لم اتوصل لها الى الان مثلا على افتراض انه قام المستحدم بمحاولة حذف اي صف بناء على متغير اخر غير name !!!!!!!!!!!!!! فلو كنت ارغب منع الحذف او التعديل على نفس المتغير فهذا سهل ان شاء الله لكن هنا اجد اشكالا اتمنى ان تتحمل اسئلتي التي قد ترى انها تافهه بعض الشيء او صعوبة استيعابي لاني مبتدئه في هذا الامر ولك جزيل الشكر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
RTL بتاريخ: 3 مايو 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 مايو 2010 شكرا لك تم حل المشكلة ولله الحمد شكرا مرة اخرى اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
leader_a2000 بتاريخ: 3 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 3 مايو 2010 ما الحل الذي وجدته اخي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.