【问题标题】:DB2 Grant add,update,delete to userDB2 向用户授予添加、更新、删除权限
【发布时间】:2013-03-20 21:00:01
【问题描述】:

我需要在我连接的数据库中向名为“test”的用户授予添加、更新和删除权限。

语法是什么?我试过了:

db2 grant add, update, delete on database to test

没有运气。

我在 AIX 中使用 DB2 10(命令行)

【问题讨论】:

    标签: db2


    【解决方案1】:

    您必须检查您可以在数据库及其对象中​​授予的权限类型。

    我想“添加”是插入,但这是通过表而不是数据库授予的。更新和删除也一样。

    您可以授予自己权限,前提是您拥有更高的权限,例如 sysadm、dbadm 或 secadm(取决于 DB2 版本和配置的安全性)。

    例如:

    db2 grant insert, update, delete on table db2inst1.emp to user test
    

    授予对模式 db2inst1 中表 emp 的所有 DML 权限

    如果你想授予所有表,你应该生成授权语句:

    db2 -x +o -z commands.sql "select 'grant insert, update, delete on table ' || trim(tabschema) || '.' || trim(tabname) || ' to user test;' from syscat.tables where type = 'T'" >
    db2 -tvf commands.sql
    

    第一个命令仅通过访问目录即可生成所有授权。第二个,是执行第一个命令的输出。

    您最终可以通过管道在一行中执行这两个命令,但有一个 Unix 限制会阻止输出。

    db2 -x "select 'grant inser... ... pe = 'T'" | db2 +p -tv
    

    【讨论】:

    • 非常感谢 AngoCA,真的帮了我很多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2020-06-04
    • 2013-02-23
    • 2015-11-19
    • 2015-11-27
    相关资源
    最近更新 更多