我需要在我连接到的数据库中向名为“test”的用户授予添加、更新和删除权限。
语法是什么?我试过了:
db2 grant add, update, delete on database to test
没有运气。
我在 AIX 中使用 DB2 10(命令行)
我需要在我连接到的数据库中向名为“test”的用户授予添加、更新和删除权限。
语法是什么?我试过了:
db2 grant add, update, delete on database to test
没有运气。
我在 AIX 中使用 DB2 10(命令行)
您必须检查可以在数据库及其对象中授予的权限类型。
我想“添加”是插入,但这是通过表而不是数据库授予的。更新和删除也是如此。
您可以授予自己权限,前提是您拥有更高的权限,例如 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