【发布时间】:2023-01-28 03:51:39
【问题描述】:
我想从我拥有 select 语句权限的另一个视图创建一个视图。但是,我不能,而且我收到了这个错误。你知道为什么吗?我需要其他类型的选择权限吗?
SET CURRENT SCHEMA = SCHEMA1;
CREATE VIEW NEWSCHEMA.MYVIEW AS SELECT * FROM DB1.SCHEMA1.VIEW1
WITH NO ROW MOVEMENT;
SET CURRENT SCHEMA = NEWSCHEMA;
COMMIT;
完整的错误信息:
类别行位置时间戳持续时间消息错误 3 0 01/27/2023 11:24:05 AM 0:00:00.007 - DB2 数据库错误:错误 [42501] [IBM][DB2/AIX64] SQL0551N 语句失败,因为 授权 ID 没有所需的授权或特权 执行操作。授权 ID:“NEWSCHEMA”。手术: “选择”。对象:“SCHEMA1.VIEW1”。
SELECT GRANTEE, GRANTEETYPE, CONTROLAUTH, SELECTAUTH FROM SYSCAT.TABAUTH WHERE (TABSCHEMA, TABNAME) = ('SCHEMA1', 'VIEW1') AND GRANTEETYPE IN ('U', 'R')
【问题讨论】:
-
使用完整的错误消息编辑您的问题。
-
@MarkBarinstein 刚刚做了,谢谢!
-
您真的尝试使用由三部分组成的名称
DB1.SCHEMA1.VIEW1在联合对象上创建视图吗?或者这是一个拼写错误,您尝试在本地视图(或引用联合对象的昵称)上创建视图? -
DB1 是数据库名称,然后 View1 在 Schema1 中。我正在尝试在同一个 DB1 中的个人模式中创建一个视图。所以它将是 DB1.NEWSCHEMA.MYVIEW
-
使用以下查询的结果编辑您的问题。
SELECT GRANTEE, GRANTEETYPE, CONTROLAUTH, SELECTAUTH FROM SYSCAT.TABAUTH WHERE (TABSCHEMA, TABNAME) = ('SCHEMA1', 'VIEW1') AND GRANTEETYPE IN ('U', 'R')。
标签: db2 db2-luw toad-data-point