日期:2014-05-17  浏览次数:20993 次

建立视图,一直提示权限不足,郁闷中...请帮忙
SYSTEM 用户登陆,并分配了 grant create any view to public

建立如下视图
SQL code

CREATE OR REPLACE FORCE VIEW SYSTEM.VDICT_USER_TABLE_LIST (OBJECT_ID, COMMENTS, TABLE_NAME)
AS
SELECT DISTINCT OBJECT_ID,
COMMENTS,
TABLE_NAME
FROM SYS.DBA_TAB_COMMENTS T1
INNER JOIN SYS.USER_OBJECTS T2
ON T1.TABLE_NAME=T2.OBJECT_NAME
INNER JOIN sys.USER_TABLES T3
ON T3.TABLE_NAME=T1.TABLE_NAME
WHERE T1.TABLE_TYPE='TABLE'
WITH READ ONLY



如此建时,提示出错,也找不到具体错在哪?

建立成 SYS.VDICT_USER_TABLE_LIST ,即一直提示 权限不足?

只有以SYS用户登陆,才能建立 SYS.VDICT_USER_TABLE_LIST 。可给SYSTEM 分配什么 权限,才能顺利建立视图。

Orc 10g

------解决方案--------------------
这个权限是不能通过角色来间接分配的,必须直接授权。
可以使用sys用户登录,然后授权:grant create any view to system;

------解决方案--------------------
SYS.DBA_TAB_COMMENTS
这个表需要SYS的权限,SYS的权限>system
------解决方案--------------------
给DBA权限就好了,呵呵。。。

GRANT DBA TO PUBLIC

慎重。。。