我之前有一个用户before,我用这个用户登录可以完成所有的select,update,drop表的操作,
现在我用sysdba的身份新建了一个test 用户,而且也给它分配了grant select any table to test
但是现在用test用户连接数据库,用select语句查询时,它却显示没有视图或表。请问这是为什么?我怎么才能让test用户与before用户一样可以查询到所有的表格数据呢?先谢谢了。
现在我用sysdba的身份新建了一个test 用户,而且也给它分配了grant select any table to test
但是现在用test用户连接数据库,用select语句查询时,它却显示没有视图或表。请问这是为什么?我怎么才能让test用户与before用户一样可以查询到所有的表格数据呢?先谢谢了。
试下
SELECT TABLE_NAME ALL_TABLES WHERE OWHER=UPPER('before');
这样可以看到before下面的表。
用SELECT * FROM before.TABLE_NAME (用户名.表名的形式)可以访问before下面的表,
用test用户,select * from before.table 真的可以看到数据,
但是每次用test用户查看数据,必须得这样吗?那我告诉别人这个test用户名时,
还得告诉他我的before用户名,而且还得让他用before.表名来查看数据吗?有没有其它办法呢?
如在test用户下:CREATE SYNONYM TABLE_NAME FOR BEFORE.TABLE_NAME;
这样在就可以直接在test用户下select * from table_name了。
test有create synonym的权限,就像可以给自己建表一样。