You can build a SELECT statement that builds the GRANT statements:
SELECT CASE WHEN type = 'V'
THEN 'GRANT SELECT ON ' || RTRIM(creator) || '.' || name || ' TO groupa, groupb;'
WHEN name LIKE '%_T'
THEN 'GRANT SELECT, INSERT ON ' || RTRIM(creator) || '.' || name || ' TO groupa, groupb;'
ELSE 'GRANT INSERT, SELECT, UPDATE, REFERENCES ON ' || RTRIM(creator) || '.' || name || ' TO groupc, groupd;'
END
FROM sysibm.systables
WHERE (creator IN ('SCHEMA' )
AND type != 'A'
AND (name LIKE '%_T'
OR name LIKE '%_RT'
OR name LIKE '%_V'
OR name LIKE '%_AT'))
Quote:
Originally posted by bab
hi all,
how can i grant "select" on all tables in schema x to a user y without listing all names of tables in schema x ...
GRANT SELECT ON TABLE x.tab1 TO USER y;
GRANT SELECT ON TABLE x.tab2 TO USER y;
GRANT SELECT ON TABLE x.tab3 TO USER y;
GRANT SELECT ON TABLE x.tab4 TO USER y;
....
....
and so on ...
is there any commands like :
GRANT SELECT ON TABLE x.ALLTABLE TO USER y; ?????? !!!!
thanks a lot
|