【发布时间】:2015-03-27 00:12:47
【问题描述】:
我需要创建一个视图,并且我正在此视图中执行 UNION ALL,但它说我没有权限。视图是这样的:
CREATE OR REPLACE VIEW exemple_view AS
SELECT 'Version', v.banner, '' as VALUE_EXEMPLE FROM v$version v
UNION ALL
SELECT 'cursor_sharing', v.value, 'EXACT' FROM v$parameter v where v.num = 1492
我是用系统用户登录的,所以我确定权限不是问题,并且工会工作在视图之外,权限问题仅出现在创建视图。如果我像这样完美地运行查询:
SELECT 'Version', v.banner, '' as VALUE_EXEMPLE FROM v$version v
UNION ALL
SELECT 'cursor_sharing', v.value, 'EXACT' FROM v$parameter v where v.num = 1492
错误:ORA-01031:权限不足
如果我创建这样的视图,它可以正常工作。没有 v$ 参数。
CREATE OR REPLACE VIEW exemple_view AS
SELECT * FROM (
SELECT 'Version', v.banner, '' as VALUE_EXEMPLE FROM v$version v
UNION ALL
SELECT 'Version', v.banner, '' as VALUE_EXEMPLE FROM v$version v
) t
有什么想法吗? 谢谢!
【问题讨论】: