FOR x IN (SELECT * FROM user_tables) LOOP EXECUTE IMMEDIATE 'GRANT SELECT ON ' || x.
table_name || ' TO <<someone>>'; END LOOP;
declare cursor c1 is select table_name from user_tables; cmd varchar2(200); begin for c in c1 loop cmd := 'GRANT SELECT ON '||c.table_name||' TO YOURUSERNAME'; execute immediate cmd; end loop; end;