用户 A、BCREATE TABLE A.TEST1( ID NUMBER(4));
CREATE TABLE A.TEST2( ID NUMBER(4));GRANT CREATE SESSION TO B;
GRANT SELECT,UPDATE ON A.TEST1 TO B;
CREATE SYNONYM B.TEST FOR A.TEST1;此后 B 可以通过更新 B.TEST 来更新 A.TEST1 这个表。

解决方案 »

  1.   

    我对ORACLE不是很了解,原以为只要在建立用户的时候分配某些权限就可以了,弱弱的问一下:
       楼上的意思是不是A、B两个用户分别建立在2个表空间内?
       这些语句应该写到哪里?
       还有建立B用户的时候security中应该分配哪些权限?
       
      

  2.   

    用户和表空间没有必然相关性,可以两个用户在一个表空间上,也可以在不同的表空间上.
    如果用户自己创建的表都是能select和update等等.
    如果要对另外的用户A的表进行DML(select,update等),就要用户A给本用户权限才能进行操作.
    connect 用户A
    grant update on 要修改的表 to 本用户一般开发的话,就给两个connect,resource(不用分得太细)
    sql>grant connect to user;
    sql>grant resource to user;