我有 2 个表:
- table1 具有同义词架构:userA.table1、userB.table1
- 表 2
我用过:
- ALTER TABLE table1 RENAME TO table1_old;
- ALTER TABLE table2 RENAME TO table1;
有必要使用 drop、create、replace SQL 语法重新创建同义词,还是可以安全地使用同义词而不重新创建它?
最佳答案
不,如果基础对象发生变化,您不需要重新创建同义词。
它们将暂时标记为“无效”,直到 Oracle 重新验证它们,这最终将自动完成 - 尽管手动重新验证它们通常是个好主意(以检查它们是否仍然正常)。
ALTER SYNONYM usera.table1 COMPILE;
ALTER SYNONYM userb.table1 COMPILE;
关于sql - 对象变化时是否需要重新创建Oracle同义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44717567/