我正在尝试允许名为 Head 的角色查询标题为 ReportDetails 的表格。表 ReportDetails 包含一个名为 ReportEntries_VA 的变量数组。我已经测试了我的数据库并发现即使我已经在 ReportDetails 上授予了SELECT, Head 仍然无法访问 ReportEntries_VA
代码如下:
CREATE TYPE ReportEntries_Type AS OBJECT
(Subject VARCHAR (500));
/
CREATE OR REPLACE TYPE ReportEntries_VA AS
VARRAY (12) OF ReportEntries_Type;
/
CREATE TABLE ReportDetails
(ReportID INTEGER NOT NULL UNIQUE,
StudentID INTEGER NOT NULL UNIQUE,
ReportEntries ReportEntries_VA,
DateLastModified DATE NOT NULL,
CONSTRAINT ReportDetails_PK PRIMARY KEY (ReportID, StudentID),
CONSTRAINT RDStudentIDSD FOREIGN KEY (StudentID)
REFERENCES StudentDetails (StudentID));
然后将权限授予 Head ,如下所示:
GRANT SELECT ON ReportDetails TO Head;
关于如何允许 Head 访问变量数组(以及之前创建的对象?)的任何建议将不胜感激。
非常感谢, 祖鲁
答案 0 :(得分:3)
您需要为EXECUTE
角色的所有类型授予Head
权限。
GRANT EXECUTE ON ReportEntries_Type to Head;
GRANT EXECUTE ON ReportEntries_VA to Head;