hrs بتاريخ: 15 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 15 مارس 2010 هل يمكن عمل تريجر على الفيو حيث اذا تغير كولمن معين يترنن التريجر؟؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
emadabdullah بتاريخ: 16 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 16 مارس 2010 (معدل) بسم الله الرحمن الرحيمأخي العزيز .. أبششرك إنه ممكن تعمل Trigger On View . CREATE OR REPLACE TRIGGER Schema.Viewname INSTEAD OF {Event Time :: INSERT | UPDATE | DELETE} ON Scema.Viewname REFERENCING NEW AS New OLD AS Old FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN tmpVar := 0; SELECT MySeq.NEXTVAL INTO tmpVar FROM dual; :NEW.Column1 := tmpVar; :NEW.Column2:= SYSDATE; :NEW.Column3:= USER; EXCEPTION WHEN OTHERS THEN -- Consider logging the error and then re-raise RAISE; END ; / تم تعديل 16 مارس 2010 بواسطة emadabdullah اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hrs بتاريخ: 17 مارس 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 17 مارس 2010 تشكراتي لك اخي .. لقد جربتها ولكن مامن نتيجة create table T2 ( OPERATION VARCHAR2(1), USERNAME VARCHAR2(225), TERMINAL VARCHAR2(225), IPADDRESS VARCHAR2(225), TIMESTAMP VARCHAR2(225), OLD_BOKCDE VARCHAR2(22), NEW_BOKCDE VARCHAR2(22), OLD_RCV NUMBER, NEW_RCV NUMBER, OLD_BOKQTY NUMBER, NEW_BOKQTY NUMBER, OLD_SHELF NUMBER, NEW_SHELF NUMBER, OLD_ISA_SHELF NUMBER, NEW_ISA_SHELF NUMBER, OLD_SAKAIR_SHELF NUMBER, NEW_SAKAIR_SHELF NUMBER, OLD_EXIBITION_SHELF NUMBER, NEW_EXIBITION_SHELF NUMBER, OLD_SOLD NUMBER, NEW_SOLD NUMBER, OLD_CANCELED NUMBER, NEW_CANCELED NUMBER, OLD_SOLD_S NUMBER, NEW_SOLD_S NUMBER, OLD_SOLD_I NUMBER, NEW_SOLD_I NUMBER, OLD_SOLD_E NUMBER, NEW_SOLD_E NUMBER, OLD_DLVQTY NUMBER, NEW_DLVQTY NUMBER, OLD_REFUNDED NUMBER, NEW_REFUNDED NUMBER ) create or replace trigger wss instead of insert or update-- of bokqty, shelf, sold, canceled, dlvqty, refunded on all1 for each row BEGIN If Updating Then insert into t2 (Operation,UserName, Terminal,IPADDRESS, Timestamp,Old_bokcde,New_bokcde,Old_bokqty, New_bokqty,Old_rcv,New_rcv, Old_shelf,New_shelf, Old_isa_shelf,New_isa_shelf, Old_sakair_shelf, New_sakair_shelf,Old_exibition_shelf,New_exibition_shelf,Old_sold,New_sold ,Old_canceled,New_canceled,Old_sold_s,New_sold_s,Old_sold_i,New_sold_i,Old_sold_ e,New_sold_e,Old_dlvqty,New_dlvqty,Old_refunded,New_refunded) values ('U',User,UserEnv('TERMINAL'),Trim(Sys_Context('USERENV', 'IP_ADDRESS')), SysDate,:Old.bokcde,:New.bokcde,:Old.bokqty,:New.bokqty,:Old.rcv,:New.rcv, :Old.shelf,:New.shelf, :Old.isa_shelf,:New.isa_shelf, :Old.sakair_shelf, :New.sakair_shelf,:Old.exibition_shelf,:New.exibition_shelf,:Old.sold,:New.sold ,:Old.canceled,:New.canceled,:Old.sold_s,:New.sold_s,:Old.sold_i,:New.sold_i,:Ol d.sold_e,:New.sold_e,:Old.dlvqty,:New.dlvqty,:Old.refunded,:New.refunded); elsif inserting then insert into t2 (Operation,UserName, Terminal,IPADDRESS, Timestamp,Old_bokcde,New_bokcde,Old_bokqty, New_bokqty,Old_rcv,New_rcv, Old_shelf,New_shelf, Old_isa_shelf,New_isa_shelf, Old_sakair_shelf, New_sakair_shelf,Old_exibition_shelf,New_exibition_shelf,Old_sold,New_sold ,Old_canceled,New_canceled,Old_sold_s,New_sold_s,Old_sold_i,New_sold_i,Old_sold_ e,New_sold_e,Old_dlvqty,New_dlvqty,Old_refunded,New_refunded) values ('U',User,UserEnv('TERMINAL'),Trim(Sys_Context('USERENV', 'IP_ADDRESS')), SysDate,:Old.bokcde,:New.bokcde,:Old.bokqty,:New.bokqty,:Old.rcv,:New.rcv, :Old.shelf,:New.shelf, :Old.isa_shelf,:New.isa_shelf, :Old.sakair_shelf, :New.sakair_shelf,:Old.exibition_shelf,:New.exibition_shelf,:Old.sold,:New.sold ,:Old.canceled,:New.canceled,:Old.sold_s,:New.sold_s,:Old.sold_i,:New.sold_i,:Ol d.sold_e,:New.sold_e,:Old.dlvqty,:New.dlvqty,:Old.refunded,:New.refunded); end if; end wss; اذا امكنكم المساعدة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hrs بتاريخ: 18 مارس 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 18 مارس 2010 NO ONE CAN HELP!! اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
abdou1984 بتاريخ: 18 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 18 مارس 2010 السلام عليكم ورحمة الله وبركاته يجب العلم بان View فى الاول والاخر عبارة عن جملة استعلام Query .اذا كان لديك Trigger يمكنك عمله على Tables------------------------------------------------------------------------------------------------ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
el_saka بتاريخ: 18 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 18 مارس 2010 طبعا لا يمكن عم لtrigger على view لان ال view باختصار لاتحتوي على اي data بل هي منظور تنظر به على table معينفي المقابل يمكن عمل trigger على materalized view لانها تحتوي على data اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hrs بتاريخ: 19 مارس 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 مارس 2010 ماذا تعني بالMATERLIZED VIEW??وثانيا اذا متى نستطيع ان نستخدم INSTEAD OFكما قال الاخ عماد عبداللهلأني قرأت انها تستخدم للفيو اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
el_saka بتاريخ: 19 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 19 مارس 2010 ال materalized view هي ناتج استعلام لداتا موجودة في داتا بيز خارجية اي انها استعلام على table موجود في داتا بيز خارجية ولكن هذا النوع من ال view يحتوي على داتامعلش يا اخي لو كان الكلام مش مفهوم اوي لاني مش بعرف اشرح كويسfor more information see this linkhttp://www.databasejournal.com/features/or...s-in-Oracle.htm اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
el_saka بتاريخ: 19 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 19 مارس 2010 الجزء التاني من سؤالك وهي instead ofهي فعلا تستخدم على ال viewلكن ليس لتحديث ال view ولكن لتحديث الtable المعتمد عليها ال viewوده مثال create or replace view outemp as select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,dname from emp e ,dept d where d.deptno = e.deptno ثم عمل التحديث على الجداول المعتمد عليها الفيو create or replace trigger update_emp_thru_outemp_view instead of update on outemp referencing new as new begin update emp set ename = :new.ename, empno = :new.empno, job = :new.job, mgr = :new.mgr, hiredate = :new.hiredate, sal = :new.sal, comm = :new.comm, deptno = ( select deptno from dept where dname = :new.dname ) where empno = :old.empno; if ( sql%rowcount = 0 ) then raise_application_error ( -20001, 'Error updating the outemp view !!!' ); end if; end اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mostfa_future بتاريخ: 19 مارس 2010 تقديم بلاغ مشاركة بتاريخ: 19 مارس 2010 (معدل) مع احترامى لكل الاراء ينفع تعمل تريجر على vew طبعا !!!!!!!!!!!!!!!!!!!!!لو مينفعش امال نوع تريجر بيستحدم فى ايه INSTEAD OF ده بيستخدم مع complex viewsوطبعا انا مش هقدر اوصل المعلومه زاى الماتربل الموضع موجد فى الدرس العاشره فى اخر 5 صفح تقريبا ماتريل plو بالتوفيق تم تعديل 19 مارس 2010 بواسطة mostfa_future اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.