before insert on A_T 改为 after试试
    insert into "A".A_T(NAME,SEX,SCORES) values(:new.NAME,:new.SEX,:new.SCORES);

是insert into "A".A_T 还是insert into "b".A_Tuser a有b的insert权限吗

解决方案 »

  1.   

    mwonder() :
    我的原来意思是:
    Create or replace trigger "A".tr_insert_SCORE
      before insert on A_T
      for each row
    declare
    begin
        insert into B.B_T(NAME,SEX,SCORES) values(:new.NAME,:new.SEX,:new.SCORES);
    end tr_insert_SCORE;你说“user a有b的insert权限吗”是什么意思?A|B都是DBA权限
      

  2.   

    mwonder() :
     
       我改成AFTER也不可以,还是错误依旧
      

  3.   

    是否A_T表与B_T表中的name字段类型不一致,或范围大小不一样.只测试SEX,SCORES看是否行:
    Create or replace trigger tr_insert_SCORE
      before insert on A_T
      for each row
    begin
       insert into B_T(SEX,SCORES) values(:new.SEX,:new.SCORES);
    end tr_insert_SCORE;
      

  4.   

    A_T表与B_T表是一模一样的表结构,只是不在一个用户名下。我认为它可能不知道:NEW应该取哪个USER,请大家指教
      

  5.   

    一、我已经在用户A中:
            grant connect, resource,select any table to b;
           在用户B中:
           grant connect, resource,select any table to a;
           但是现在报错“没有足够的权限存取对象”二、以前:NEW的错误是因为我写错了字段字母。谢谢大家。请大家帮我看看“没有足够的权限存取对象”的问题呀
      

  6.   

    原来是要给双方INSERT ANY TABLE权限。可是是不是双方都要给?我是不是给大了
      

  7.   

    b: grant all on B_T to a;用户b对用户a授与在表B_T 上的所有权限