当对象更改时,Oracle 同义词是否需要重新创建?

Cat*_*lin 3 sql oracle rename

我有 2 张桌子:

  • table1具有同义词架构:userA.table1userB.table1
  • 表2

我用过了:

  • 更改表table1重命名为table1_old
  • ALTER TABLE table2重命名为table1 ;

有必要使用 drop、create、replace SQL 语法重新创建同义词,还是可以安全地按原样使用同义词而不重新创建它?

Jef*_*emp 6

不,如果基础对象发生更改,您不需要重新创建同义词。

它们将暂时标记为“无效”,直到 Oracle 重新验证它们,这最终将自动完成 - 尽管手动重新验证它们通常是一个好主意(为了检查它们是否仍然正常)。

ALTER SYNONYM usera.table1 COMPILE;
ALTER SYNONYM userb.table1 COMPILE;
Run Code Online (Sandbox Code Playgroud)