ALTER TABLE TABLE_NAME DISABLE/ENABLE TRIGGER TRIGGER_NAME这个语句对吗?我用的时候:alter table t_sys_8 disable/enable trigger t_create_table
为什么会报错(missing keyword)呢?  怎么修改啊?

解决方案 »

  1.   

    直接禁用一个触发器,用alter trigger xxx disable;禁用一个表上的触发器:
    declare
    v_name varchar2(50);
    begin
    select trigger_name into v_name from dba_triggers
    where table_name='XXX';
    execute immediate 'alter trigger '||v_name||' disable';
    end;
    /
      

  2.   

    我还想问一下   假如我在触发器A中执行某个函数  
    根据返回的数据值判断:如果返回值为1  就disable 触发器A还可以啊?
      

  3.   

    我试的时候,执行到disable 触发器A 时      就不往下走了```
      

  4.   


    --禁用alter table t
    disable all tirggers;--启用alter table t
    enable all triggers;
      

  5.   

    SQL code
      --禁用 alter table t disable all tirggers; --启用 alter table t enable all triggers;  报错:ORA_00054:resource busy and acquire with NOWAIT specified.
    是因为 disable all triggers  时,all triggers中含有自身的缘故吗?
      

  6.   

    alter trigger <triggername> disable/enablealter table <tablename> disable all trigger|enable all trigger
      

  7.   


    alter   table   <tablename>   disable   all   trigger &brvbarenable   all   trigger 
    这个能具体解释下是什么意思吗?
      

  8.   

    允许或者禁止所有在这个表上面的触发器。
    alter       table       <tablename>       disable      all       trigger
    alter       table       <tablename>       enable       all       trigger