Re: Accessing another user's tables

From: Denzer_Volker <ddt_at_dsun6.hmi.de>
Date: 7 Jun 1994 10:24:35 +0200
Message-ID: <2t1as3$j0h_at_dsun6.hmi.de>


jmatthews_at_nova.wright.edu writes:

>A user, scott, has some tables and some forms that manipulate
>those tables. Another user, john, wants to run those forms.
>After granting access to his tables to john (or public), I would
>have thought that scott should refer to his tables (in his
>form's code) as scott.tablename. Instead, a colleague suggested
>using the unadorned tablename and creating (public) synonym(s)
>for scott's tables.
 

>Any thoughts on which approach to prefer? Thanks.

You should prefer the first form, adressing the tables with scott.tablename. Why ?.....
  1st: You never know if you will keep that account for the rest of your

       "worklife". Changing the account (even only the ORACLE account)
       would mean to recreate all those synonyms. 
       (doesn't hit public synonyms, of course)
  2nd: There exists the public view 'user_tables', which shows all tables
       that you own, i.e. all tables, you can use without supplying the
       owner.
       Every synonym you create will be shown in that view as a table
       of your own.
       Besides that, the view 'all_tables' shows you all the tables you
       have access to. Even those tables, you don't own.
  3rd: You can't reuse the tablenames for own objects. (Could be of some
       interest in case of names like 'address' or 'person'....)

That's my 2cc, derived from application design for the last few years.

  V. Denzer Received on Tue Jun 07 1994 - 10:24:35 CEST

Original text of this message