Teradata-在另一个数据库中创建表的视图

时间:2019-06-12 08:37:19

标签: teradata teradata-sql-assistant

我需要在Teradata VIEWS中创建另一个数据库中的表。 我已经创建了两者,但是现在选择了VIEW时,它显示了以下错误:“未找到表/视图'MyDatabase.MyView',或者您没有访问权限” >

用户,视图,表,数据库...需要哪种类型的权限才能起作用?而且我什么时候应该给他们?

谢谢!

1 个答案:

答案 0 :(得分:0)

假设我们有 SomeDB.TableOrViewA 和一个引用 SomeDB.TableOrViewA 的视图 MyViews.ViewX 。仅当 MyViews 拥有相应权利WITH GRANT OPTION时,“视图所有者” MyViews 才可以提供访问权限(通过 ViewX )。

为了使 UserN (不是 MyViews.ViewX 的创建者)从视图进入SELECT,不仅 UserN MyViews.ViewX (或整个 MyViews 数据库)拥有SELECT权限,但对 MyViews 数据库还必须对 SomeDB.TableOrViewA 或整个 SomeDB 数据库具有SELECT WITH GRANT OPTION权限。无论 UserN 是否对基础 SomeDB.TableOrViewA 本身具有SELECT权限,都是如此。

GRANT SELECT ON SomeDB.TableOrViewA TO MyViews WITH GRANT OPTION;

GRANT SELECT ON SomeDB TO MyViews WITH GRANT OPTION;