同义词指向两个具有相同名称但后缀不同的表?
Synonym to point two tables with same name but different suffix?
我是 oracle 的新手,正在尝试创建一个同义词以在不同的日期指向两个不同的表。请看下面我的例子。
我有两个名为 table_1
和 table _2
的表以及一个同义词 table
。起初我将同义词指向 table_1;
CREATE SYNONYM table for schema.table_1;
第二天我想将同义词指向 table_2
。我应该使用另一个语句,如
CREATE OR REPLACE SYNONYM table for schema.table_2;
或者有没有其他办法。有人可以帮助我吗?
有很多选择。
- 创建一个数据库作业,按计划进行同义词更新。这可能会给在替换时使用同义词的查询带来麻烦。
- 创建一个包含程序的程序包,该程序将隐藏 table 从应用程序层切换。
- 根据下面的示例 select 创建视图以隐藏 table 切换。假设您只是阅读并且 table 具有相同的结构。
- 不要重复 table。
Select 观看次数
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)
我是 oracle 的新手,正在尝试创建一个同义词以在不同的日期指向两个不同的表。请看下面我的例子。
我有两个名为 table_1
和 table _2
的表以及一个同义词 table
。起初我将同义词指向 table_1;
CREATE SYNONYM table for schema.table_1;
第二天我想将同义词指向 table_2
。我应该使用另一个语句,如
CREATE OR REPLACE SYNONYM table for schema.table_2;
或者有没有其他办法。有人可以帮助我吗?
有很多选择。
- 创建一个数据库作业,按计划进行同义词更新。这可能会给在替换时使用同义词的查询带来麻烦。
- 创建一个包含程序的程序包,该程序将隐藏 table 从应用程序层切换。
- 根据下面的示例 select 创建视图以隐藏 table 切换。假设您只是阅读并且 table 具有相同的结构。
- 不要重复 table。
Select 观看次数
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)