禁止触发器的语法为
ALTER TRIGGER triggerName DISABLE;
是ddl语句,在过程中需要用dbms_sql来执行
给你一个例子
CREATE OR REPLACE PROCEDURE 
    Close_trigger(triggerName IN Varchar2) AS
    cursor_name INTEGER;
    rows_processed INTEGER;
BEGIN
    cursor_name := dbms_sql.open_cursor;
    DBMS_SQL.PARSE(cursor_name, 'ALTER TRIGGER ' || triggerName || ' DISABLE',
                   dbms_sql.native);
    DBMS_SQL.BIND_VARIABLE(cursor_name, ':x', salary);
    rows_processed := dbms_sql.execute(cursor_name);
    DBMS_SQL.close_cursor(cursor_name);
EXCEPTION
WHEN OTHERS THEN
    DBMS_SQL.CLOSE_CURSOR(cursor_name);
END;相应的调用的触发器可以这么写
CREATE OR REPLACE TRIGGER TEST
BEFORE DELETE ON tablename 
begin
Close_trigger;   --你的过程名
end; 
-----------------------
对了,你为什么要这样。