现在做的项目,要做很多机能相同的trigger,已经做出来了一个
剩下的不知道有没有什么方法可以自动生成?
(应该有这样的办法吧 :))
在网上搜索了一下,看的不是很懂。
这个是用什么工具吗 ?还是做个脚本?
最好能详细的说明下,呵呵,头一次接触,迷茫。

解决方案 »

  1.   

    应该是用脚本,具体怎么搞?create my_trigger for tb ....
      

  2.   

    declare
      tname varchar2(30);
      sqltext varchar2(500);
      cusor cs is
      select table_name from user_tables; 
    begin
      open cs;
      loop
        fetch cs into tname;
        exit when cs%notfound;     sqltext := 'CREATE OR REPLACE TRIGGER INSERT_'||tname
                    ||' BEFORE INSERT ON '||tname
                    ||' REFERENCING OLD AS OLD NEW AS NEW'
                    ||' FOR EACH ROW'
                    ||' BEGIN'
                    ||'   SELECT SQ_'||tname||'.NEXTVAL INTO :NEW.SQ_ID FROM DUAL;'
                    ||' END';
        execute immediate sqltext;
      end loop;
    end;说明:
    触发器名称为 INSERT_+表名
    序列名称为SQ_+表民