بتاريخ: 5 نوفمبر 200916 سنة comment_175570 يمكن تعطيل جميع التريغرز الخاصة بمستخدم معين من خلال الاجراء: create or replace procedure disable_all_trig(trig_cnt out number ) is cursor user_trig_cur is select trigger_name from user_triggers; mycursor integer; begin for user_trig_rec in user_trig_cur loop mycursor:=dbms_sql.open_cursor; dbms_sql.parse(mycursor,'alter trigger '||user_trig_rec.trigger_name||' disable',dbms_sql.native); trig_cnt:=(mycursor); dbms_sql.close_cursor(mycursor); end loop; end; / variable t_cnt number; begin disable_all_trig(:t_cnt); end; / print t_cnt; تقديم بلاغ
بتاريخ: 5 نوفمبر 200916 سنة كاتب الموضوع comment_175571 اما عند التمكين: create or replace procedure enable_all_trig(trig_cnt out number ) is cursor user_trig_cur is select trigger_name from user_triggers; mycursor integer; begin for user_trig_rec in user_trig_cur loop mycursor:=dbms_sql.open_cursor; dbms_sql.parse(mycursor,'alter trigger '||user_trig_rec.trigger_name||' enable',dbms_sql.native); trig_cnt:=(mycursor); dbms_sql.close_cursor(mycursor); end loop; end; / variable t_cnt number; begin enable_all_trig(:t_cnt); end; / print t_cnt; تقديم بلاغ
بتاريخ: 5 نوفمبر 200916 سنة comment_175589 الأخ / عصام شكرا لك على الهدية ملحوظة : انت من الاعضاء القدامى بالمنتدى ومن المؤسسين ... صاحب العضويه رقم 6 ... ولك اكثر من 200 مشاركة فقط فى 5 سنوات !!! هل هذا معقول ؟ لماذا ... ننتظر منك باقى الهدايا تقبل تحياتى تقديم بلاغ
بتاريخ: 3 ديسمبر 200916 سنة comment_178138 السلام عليكمارجو ان تعجبكم هذه الطريقة كـود SQL set heading off;spool c:\disable_all_user_trigs.sql;select 'alter trigger '||trigger_name||' disable;' from user_triggers;spool off;c:\disable_all_user_trigs.sql@ تقديم بلاغ
بتاريخ: 3 ديسمبر 200916 سنة comment_178144 هل ممكن أضيف إضافة بسيطة ،،، إيه رأيك لو خليناهم إجراء واحد للتعطيل والتمكين: create or replace procedure enable_all_trig(trig_cnt out number ) تكونcreate or replace procedure enable_all_trig(stat varchar2 , trig_cnt out number ) ثم تعديل dbms_sql.parse(mycursor,'alter trigger '||user_trig_rec.trigger_name||' disable',dbms_sql.native); لتكون if upper(stat) = 'E' then dbms_sql.parse(mycursor,'alter trigger '||user_trig_rec.trigger_name||' enable',dbms_sql.native); elsif upper(stat) = 'D' then dbms_sql.parse(mycursor,'alter trigger '||user_trig_rec.trigger_name||' disable',dbms_sql.native); else dbms_output.put_line('Wrong Parameter'); end if; ويكون الاستدعاء بهذا الشكل variable t_cnt number; begin enable_disable('e', :t_cnt); end; / print t_cnt; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.