首页 > 解决方案 > 如何在 PostgreSQL 中为表创建同义词

问题描述

我正在将此 Oracle 命令迁移到 PostgreSQL:

CREATE SYNONYM &user..emp FOR &schema..emp;

请向我建议如何迁移上述命令。

标签: postgresqldatabase-migrationsynonym

解决方案


PostgreSQL 不支持 SYNOSYM 或 ALIAS。Synonym 是 Microsoft SQL 2005 实现的非 SQL 2003 功能(我认为)。虽然它确实提供了一个有趣的抽象,但由于缺乏关系完整性,它可以被认为是一种风险。

也就是说,您可以创建一个同义词,向您的程序员宣传,围绕它编写代码,包括存储过程,然后有一天这个同义词(或链接或指针)的后端被更改/删除/等导致运行时间错误。我什至不认为准备会抓住这一点。

它与 unix 中的符号链接和 C/C++ 中的空指针相同。

而是创建一个数据库视图,只要它只包含一个表选择,它就已经可以更新。

CREATE VIEW schema_name.synonym_name AS SELECT * FROM schema_name.table_name;

推荐阅读