你这是后触发器的一种,MD5加密对应的sql语句对插入后的值进行处理就行了

解决方案 »

  1.   

    create or replace trigger ins_trigger
      after insert on A
      REFERENCING new as new_val
      for each row
    declare
      v_logon    varchar2(50);
      v_username varchar2(50);
    begin
      v_username := :new_val.username;
      v_logon    := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(input_string => v_username));
      insert into B (logon) values (v_logon);
    end;
      

  2.   


    create table a(
    username varchar2(20)
    );create table b(
    logon varchar2(200)
    );--插入数据 注意commit
    insert into a
    values ('auxu');--测试结果
    SQL> 
    SQL> select * from a;
     
    USERNAME
    --------------------
    auxu
    SQL> select * from b;
     
    LOGON
    --------------------------------------------------------------------------------
    B44217184C2E1FDB2BC496E43E49B163
     
    SQL> 
      

  3.   

    该触发器是在A表插入值之后触发执行对B表中进行插入记录。
    create or replace trigger tri_A
      after insert on A
      for each row
    declare
      v_login    varchar2(50);
      v_username varchar2(50);
    begin
      v_username :=:new.username;
      v_login:= utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(input_string => v_username));
      insert into B (login) values (v_login);
    end;