sql - 对象变化时是否需要重新创建Oracle同义词?

标签 sql oracle rename

我有 2 个表:

  • table1 具有同义词架构:userA.table1userB.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/

相关文章:

c# - 单击按钮即可将 SQL 查询的结果保存到 Excel 文件

php - PDO 中的 Mysql 变量和多个查询。更新查询不起作用

c# - 追上 "ORA-01084: invalid argument in OCI call"

database - 更新触发器以更新到同一个表

sql - 在Oracle sql中以T为状态的最后更改的数据

mysql - 重命名 MySQL 数据库

MySQL触发器不起作用

sql - 隔离括号内的字符

visual-studio-2010 - 为什么重命名当前不可用

git - 当我重命名 git repo 的父目录时会发生什么?