如何在 Oracle 中授予一行权限?
How to grant privilege to a row in Oracle?
我刚刚开始学习 Oracle 数据库。我想问一下,我怎样才能授予一行特权。例如:员工A只能读取、更新他的信息,他不能读取员工B或其他人的信息
这是我的 table 员工
create table Employee(
Emp_ID varchar2(20),
Emp_Name varchar2(255),
primary key(Emp_ID)
)
您可以向 USER 函数填充的 table 添加一个 Data_Owner 字段。不允许直接访问 table。所有访问都是通过一个视图进行的,该视图仅公开那些与查询视图的人的 USER 值匹配的行。使用USER函数控制DML。
这是一个示例。测试一下是否满足您的需求
create view Sample as
select col_1, col_2, col3
from Sample_Table
where Data_Owner = USER;
我刚刚开始学习 Oracle 数据库。我想问一下,我怎样才能授予一行特权。例如:员工A只能读取、更新他的信息,他不能读取员工B或其他人的信息
这是我的 table 员工
create table Employee(
Emp_ID varchar2(20),
Emp_Name varchar2(255),
primary key(Emp_ID)
)
您可以向 USER 函数填充的 table 添加一个 Data_Owner 字段。不允许直接访问 table。所有访问都是通过一个视图进行的,该视图仅公开那些与查询视图的人的 USER 值匹配的行。使用USER函数控制DML。
这是一个示例。测试一下是否满足您的需求
create view Sample as
select col_1, col_2, col3
from Sample_Table
where Data_Owner = USER;