SQL> CREATE OR REPLACE TRIGGER ta
  2    after INSERT ON a
  3    FOR EACH ROW
  4  declare 
  5  com_num NUMBER;
  6  BEGIN
  7    dbms_output.put_line(:new.rowid);
  8  END;
  9  /

解决方案 »

  1.   

    sorry,上面写成insert的了,下面的是update的,测试过了,没问题
    CREATE OR REPLACE TRIGGER ta
      after update ON a
      FOR EACH ROW
    declare 
    com_num NUMBER;
    BEGIN
      dbms_output.put_line(:old.rowid);
    END;
    /
      

  2.   

    16:52:33 jlanzpa817>update a set b = sysdate ;
    AAACI2AABAAAEKsAAA已更新 1 行。已用时间:  00: 00: 00.61
    16:52:46 jlanzpa817>insert into a (b) values (sysdate);已创建 1 行。已用时间:  00: 00: 00.60
    17:00:28 jlanzpa817>commit;提交完成。已用时间:  00: 00: 00.10
    17:00:31 jlanzpa817>update a set b = sysdate ;
    AAACI2AABAAAEKsAAA
    AAACI2AABAAAEKsAAB已更新2行。已用时间:  00: 00: 00.10
    17:00:34 jlanzpa817>commit;
      

  3.   

    你的com_num变量没有用啊,我只是想把结果赋给一个变量。rowid是字符串类型的好象,不是NUMBER类型。我已经通过了,呵呵谢谢!!!