首页 文章

授予权限更新以及Oracle中的限制

提问于
浏览
0

我是Oracle新手 . 我的数据库有两个表员工和部门 .

Employee(Empid, Name, Designation, Date_Joined, Salary, Qualification, Dcode)
Department (Dcode, Dname, Location)

我需要在Employee表的列工资上向用户c ## Amila授予权限更新 . 他不应该更新超过50000的工资,他不应该插入超过50000的 Value . 我可以授予特权

GRANT UPDATE("salary") ON "Employee" TO c##Amila;

但有没有办法在这笔补助金上增加上述限制?

1 回答

  • 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;
    

相关问题