Can you use a view instead?
 
SVRMGR> create table temp1 (temp1 varchar2(1));
Statement processed.
SVRMGR> create table temp2 (temp1 varchar2(1));
Statement processed.
SVRMGR> insert into temp1 values ('a');
1 row processed.
SVRMGR> insert into temp1 values ('a');
1 row processed.
SVRMGR> insert into temp1 values ('a');
1 row processed.
SVRMGR> insert into temp1 values ('a');
1 row processed.
SVRMGR> insert into temp2 values ('b');
1 row processed.
SVRMGR> insert into temp2 values ('b');
1 row processed.
SVRMGR> insert into temp2 values ('b');
1 row processed.
SVRMGR> create or replace view temp as select * from temp1;
Statement processed.
SVRMGR> select * from temp;
T
-
a
a
a
a
4 rows selected.
SVRMGR> create or replace view temp as select * from temp2;
Statement processed.
SVRMGR> select * from temp;
T
-
b
b
b
3 rows selected.
SVRMGR>

Maybe some unwanted overhead with the view, but it might help out.
 
Jim
 


>>> [EMAIL PROTECTED] 06/30/01 04:56PM >>>
Is there a way to do what would be an ALTER SYNONYM?

I've got a synonym created that rotates between pointing to two different
tables.  Sometimes it points to TABLE_A, sometimes to TABLE_B.  (This is
so that behind the scenes, I can truncate and reload TABLE_A, and then
swap, etc. so the table "never disappears".)

However, when I want to switch the SYNONYM from pointing to TABLE_A to
pointing to TABLE_B, the only way is to:

drop synonym table_syn;
create synonym table_syn for table_b;

Is there a way to make that instantaneous for the database?  If someone
does a select at the exact instant between those two commands, it'll error
out, because the table "won't exist".

-Rick

+--------------------------------------------------------------------------+
|                 Rick Osterberg   [EMAIL PROTECTED]                |
|         Database Applications Specialist     FAS Computer Services       |
+--------------------------------------------------------------------------+

--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Rick Osterberg
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to