使用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;