create  table  test(  
                       aaa  number,  
                       bbb  char(10),  
                       ccc  varchar2(10),  
                       ddd  varchar2(10),  
                       eee  varchar2(10),  
                       fff  varchar2(10)  
                         
)  
 
begin  
     if  updating('aaa')  then  
         insert  into  BBB  values(1,'aaa',:NEW.aaa);  
                             elsif  updating('bbb')  then  
         insert  into  BBB  values(2,'bbb',:NEW.aaa);  
           elsif  updating('ccc')  then  
         insert  into  BBB  values(3,'ccc',:NEW.aaa);  
           elsif  updating('ddd')  then  
         insert  into  BBB  values(4,'ddd',:NEW.aaa);  
           elsif  updating('eee')  then  
         insert  into  BBB  values(5,'eee',:NEW.aaa);  
           elsif  updating('fff')  then  
         insert  into  BBB  values(6,'fff',:NEW.aaa);        
     end  if;  
 end;  
 
请问知道test表所有字段值,如何动态得到上面的字段监控触发器.  
 
注:'aaa'  表示字段名,:NEW.aaa  ,表示主键值;  

解决方案 »

  1.   

    不好意思!我是想动态生成更新触发器,监控表中所有字段更新操作.
    比如:test中的aaa字段,如果更新此字段,就把aaa字段名及新主键值(每个监控字段这里都一样)插入到BBB表中;
    注:表字段个数及名称是动态的.谢谢楼上的.
      

  2.   

    这好像不是mssql吧 我除了mssql别的db都不会 55555555555555555
      

  3.   

    谢谢楼上的.这个是ORACLE数据库.那SQLSERVER怎么实现呢?给个参考好吗?