我是Oracle新手。我的数据库有两个表员工和部门。
Employee(Empid, Name, Designation, Date_Joined, Salary, Qualification, Dcode)
Department (Dcode, Dname, Location)
我需要在Employee表的列工资上向用户c ## Amila授予权限更新。他不应该更新超过50000的工资,他不应该插入超过50000的价值。我可以授予特权
GRANT UPDATE("salary") ON "Employee" TO c##Amila;
但是有没有办法在这个补助金上添加上述限制?
答案 0 :(得分:1)
我从未在Oracle中听说过这样的权限,但在您的情况下,您可以使用CHECK选项创建可更新的视图:
create view EmployeeV as select * from Employee
where salary <= 50000 with check option;
并在此视图中授予您所需的内容:
GRANT UPDATE(salary) ON EmployeeV TO c##Amila;
GRANT INSERT ON EmployeeV TO c##Amila;