DB2 Grant添加,更新,删除给用户

时间:2013-03-20 21:00:02

标签: db2

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

语法是什么?我试过了:

db2 grant add, update, delete on database to test

没有运气。

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

1 个答案:

答案 0 :(得分:1)

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

我认为“add”是insert,但是这是通过表而不是数据库授予的。更新和删除相同。

只有拥有超级权限(例如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

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

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

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