在Oracle 8i数据库下面,在一个用户名sysappadmjr下面有一个表,表名为jra01,主键为a0100。在用户名jruser下面有一个表,表名为jjb01,有一个信息项为b0102。现在在jjb01中建立一个约束关系,就是将b0102设为外键,并与前面提到的a0100相关联。我使用的SQL语句为
ALTER TALBE "JRUSER"."JJB01" ADD(
CONSTRAINT 约束名 FOREIGN KEY ("B0102")
REFERENCES ON "SYSAPPADRJR"."JRA01"(A0100)
ON DELETE CASCADE)
(注意:sysappadmjr和jruser都已经赋予了DBA的角色)
但是系统回出现如下的错误提示:
ORA-00942:表或视图不存在
您没有足够的权限该操作。要创建、编辑或者删除不属于自己方案的对象,您必须具有DBA的角色 。作为一个具有SELECT_CATALOG_ROLE的用户,您对不属于自己方案只能获得只读视图。我一直不明白这是怎么回事?我曾经试图用sysappadmjr和system的帐号登陆并创建以上的SQL语句但是失败了。如果哪位大虾知道怎么创建这个外键或者不能创建这个外键的原因的话,请赐教!多谢!
ALTER TALBE "JRUSER"."JJB01" ADD(
CONSTRAINT 约束名 FOREIGN KEY ("B0102")
REFERENCES ON "SYSAPPADRJR"."JRA01"(A0100)
ON DELETE CASCADE)
(注意:sysappadmjr和jruser都已经赋予了DBA的角色)
但是系统回出现如下的错误提示:
ORA-00942:表或视图不存在
您没有足够的权限该操作。要创建、编辑或者删除不属于自己方案的对象,您必须具有DBA的角色 。作为一个具有SELECT_CATALOG_ROLE的用户,您对不属于自己方案只能获得只读视图。我一直不明白这是怎么回事?我曾经试图用sysappadmjr和system的帐号登陆并创建以上的SQL语句但是失败了。如果哪位大虾知道怎么创建这个外键或者不能创建这个外键的原因的话,请赐教!多谢!
CONSTRAINT 约束名 FOREIGN KEY ("B0102")
REFERENCES ON "SYSAPPADRJR"."JRA01"."A0100"
ON DELETE CASCADE);
grant all on JRA01 to JRUSER;