指向具有相同名称但后缀不同的两个表的同义词?

时间:2016-11-11 03:02:20

标签: oracle synonym

我是oracle的新手,并试图在不同的日子创建一个同义词来指向两个不同的表。请参阅下面的示例。

我有两个名为table_1table _2的表以及一个同义词table。首先,我将同义词指向table_1;

CREATE SYNONYM table for schema.table_1;

第二天,我想将同义词指向table_2。我应该使用其他声明,如

CREATE OR REPLACE SYNONYM table for schema.table_2;

还是有其他办法。有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

有很多选择。

  1. 创建一个数据库作业,该作业将按计划进行同义词更新。它可能会导致在更换时使用同义词的查询出现问题。
  2. 创建一个程序包,其程序将隐藏表格从应用程序层切换。
  3. 根据下面的示例选择创建隐藏表切换的视图。假设您只是阅读而且表格具有相同的结构。
  4. 不要复制表格。
  5. 选择查看

    SELECT DUMMY
    FROM (
      SELECT 'X' AS DUMMY, 0 AS SEP FROM DUAL TABLE1
      UNION ALL
      SELECT 'Y' AS DUMMY, 1 AS SEP FROM DUAL TABLE2)
    WHERE
      SEP = MOD(EXTRACT(DAY FROM SYSDATE), 2)