<p>I need to grant select permission for all tables owned by a specific user to another user.  Can I do this with a single command along the lines of:</p>

<pre><code>Grant Select on OwningUser.* to ReceivingUser
</code></pre>

<p>Or do I have to generate the sql for each table with something along the lines of:</p>

<pre><code> Select 'GRANT SELECT ON OwningUser.'||Table_Name||'TO ReceivingUser' 
 From All_Tables Where Owner='OWNINGUSER'
</code></pre>

Well, it's not a single statement, but it's about as close as you can get with oracle:
```
```
BEGIN
   FOR R IN (SELECT owner, table_name FROM all_tables WHERE owner='TheOwner') LOOP
      EXECUTE IMMEDIATE 'grant select on '||R.owner||'.'||R.table_name||' to TheUser';
   END LOOP;
END;
```
```