建外键时出现奇怪问题?

[复制链接]
查看11 | 回复9 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
一个库,DBA权限登陆
SQL> alter table S.MX12
2 add constraint FK_S_ZJ foreign key (NSRLXDM, SBBLXDM)
3references D.RLX (NSRLXDM, SBBLXDM);
references D.RLX (NSRLXDM, SBBLXDM)

*
ERROR 位于第 3 行:
ORA-01031: insufficient privileges
另一个库:
SQL> select count(*) from D.RLX;
COUNT(*)
----------
8
SQL> alter table S.MX12
2 add constraint FK_D_ZJ foreign key (NSRLXDM, SBBLXDM)
3references D.RLX (NSRLXDM, SBBLXDM);
references D.RLX (NSRLXDM, SBBLXDM)

*
ERROR 位于第 3 行:
ORA-00942: table or view does not exist
谢谢


回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
运行一个语句会报俩不一样的错误?做sql_trace
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
是两个库,两个问题.
谢谢
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
你详细贴出来吧,两个问题用个用户确定是dba么.从错误上看 有些怀疑
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
的确是dba用户.
谢谢
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 dlldlldll 发布
[B]一个库,DBA权限登陆
SQL> alter table S.MX12
2 add constraint FK_S_ZJ foreign key (NSRLXDM, SBBLXDM)
3references D.RLX (NSRLXDM, SBBLXDM);
references D.RLX (NSRLXDM, SBBLXDM)

*
ERROR 位于第 3 行:
ORA-01031: insufficient privileges
另一个库:
SQL> select count(*) from D.RLX;
COUNT(*)
----------
8
SQL> alter table S.MX12
2 add constraint FK_D_ZJ foreign key (NSRLXDM, SBBLXDM)
3references D.RLX (NSRLXDM, SBBLXDM);
references D.RLX (NSRLXDM, SBBLXDM)

*
ERROR 位于第 3 行:
ORA-00942: table or view does not exist
谢谢

[/B]

第一个问题看权限,是不是权限不够,第2个问题看你的2个表都存在吗?或者表有没有访问的权限
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
SQL> select count(*) from S.MX12;
COUNT(*)
----------
0
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
DBA用户,怎么会权限不够。。。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
我认为第一个库是因为S用户对D.RLX的权限不够。所以权限不足。
而第二个库是因为D用户对S.MX12没任何权限,就是select的权限都没有。所以对象不存在。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
你只要grant references(NSRLXDM, SBBLXDM) on D.RLX to S;
就可以在第一个库中建外键了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行