DB2给表批量赋权
阅读原文时间:2023年07月11日阅读:1

使用DB2的for循环语句给表批量赋权,同理,稍加修改可作为其他批量操作。

值得注意的是: grant语句无法直接执行,需要使用execute immediate才能执行。

授权操作表的所有权限:grant control on 表 to 用户

begin
declare gran_sql varchar(200);
for t as
select TABSCHEMA||'.'||TABNAME TABNAME from SYSCAT.TABLES where TABSCHEMA= 'DB2INST1'
do
set gran_sql='GRANT select on '||t.TABNAME||' to QSS06,QSS07';
execute immediate gran_sql;
end for;
end;