• Oracle: Grant/Revoke Privileges


    Grant Privileges on Tables

    You can grant users various privileges to tables. These privileges can be any combination of select, insert, update, delete, references, alter, and index. Below is an explanation of what each privilege means.

     

    Privilege Description

    Select Ability to query the table with a select statement.

    Insert Ability to add new rows to the table with the insert statement.

    Update Ability to update rows in the table with the update statement.

    Delete Ability to delete rows from the table with the delete statement.

    References Ability to create a constraint that refers to the table.

    Alter Ability to change the table definition with the alter table statement.

    Index Ability to create an index on the table with the create index statement.

     

     

     

    The syntax for granting privileges on a table is:

     

    grant privileges on object to user;

     

    For example, if you wanted to grant select, insert, update, and delete privileges on a table called suppliers to a user name smithj, you would execute the following statement:

     

    grant select, insert, update, delete on suppliers to smithj;

     

    You can also use the all keyword to indicate that you wish all permissions to be granted. For example:

     

    grant all on suppliers to smithj;

     

    If you wanted to grant select access on your table to all users, you could grant the privileges to the public keyword. For example:

     

    grant select on suppliers to public;

     

     

     

    Revoke Privileges on Tables

    Once you have granted privileges, you may need to revoke some or all of these privileges. To do this, you can execute a revoke command. You can revoke any combination of select, insert, update, delete, references, alter, and index.

     

    The syntax for revoking privileges on a table is:

     

    revoke privileges on object from user;

     

    For example, if you wanted to revoke delete privileges on a table called suppliers from a user named anderson, you would execute the following statement:

     

    revoke delete on suppliers from anderson;

     

    If you wanted to revoke all privileges on a table, you could use the all keyword. For example:

     

    revoke all on suppliers from anderson;

     

    If you had granted privileges to public (all users) and you wanted to revoke these privileges, you could execute the following statement:

     

    revoke all on suppliers from public;

     

     

     

    Grant Privileges on Functions/Procedures

    When dealing with functions and procedures, you can grant users the ability to execute these functions and procedures. The Execute privilege is explained below:

     

    Privilege Description

    Execute Ability to compile the function/procedure.

    Ability to execute the function/procedure directly.

     

     

    The syntax for granting execute privileges on a function/procedure is:

     

    grant execute on object to user;

     

    For example, if you had a function called Find_Value and you wanted to grant execute access to the user named smithj, you would execute the following statement:

     

    grant execute on Find_Value to smithj;

     

    If you wanted to grant all users the ability to execute this function, you would execute the following:

     

    grant execute on Find_Value to public;

     

     

     

    Revoke Privileges on Functions/Procedures

    Once you have granted execute privileges on a function or procedure, you may need to revoke these privileges from a user. To do this, you can execute a revoke command.

     

    The syntax for the revoking privileges on a function or procedure is:

     

    revoke execute on object from user;

     

    If you wanted to revoke execute privileges on a function called Find_Value from a user named anderson, you would execute the following statement:

     

    revoke execute on Find_Value from anderson;

     

    If you had granted privileges to public (all users) and you wanted to revoke these privileges, you could execute the following statement:

     

    revoke execute on Find_Value from public;

    魔兽就是毒瘤,大家千万不要玩。
  • 相关阅读:
    HDU1069:Monkey and Banana(DP+贪心)
    hdu 4497 GCD and LCM(2013 ACM-ICPC吉林通化全国邀请赛——题目重现)
    vb6.0 倒计时
    硬盘分区表
    踽踽独行的岁月,感谢与你的相遇
    每天学点Linux:二
    windows下Qt Creator5.1.0编写程序以及调用OpenCV库
    【每周一译】愚蠢的指标:Java中使用最多的关键字
    centos 7 没有ifconfig 命令
    About stats collected
  • 原文地址:https://www.cnblogs.com/tracy/p/1712555.html
Copyright © 2020-2023  润新知