当对象发生变化时,是否需要重新创建Oracle同义词?

时间:2017-06-23 09:13:22

标签: sql oracle rename

我有两张桌子:

    使用同义词架构
  • table1 userA.table1 userB.table1
  • 表2

我用过:

  • ALTER TABLE table1 重命名为 table1_old ;
  • ALTER TABLE table2 重命名为 table1 ;

有必要使用drop,create,replace,SQL语法重新创建同义词,或者作为同义词使用是否安全,不要重新创建它?

1 个答案:

答案 0 :(得分:3)

不,如果底层对象发生更改,则无需重新创建同义词。

在Oracle重新验证它们之前,它们将暂时标记为“无效”,最终将自动完成 - 尽管通常最好手动重新验证它们(以便检查它们是否正常)。

ALTER SYNONYM usera.table1 COMPILE;
ALTER SYNONYM userb.table1 COMPILE;