postgresql - 如何在 PostgreSQL 中为表创建同义词
问题描述
我正在将此 Oracle 命令迁移到 PostgreSQL:
CREATE SYNONYM &user..emp FOR &schema..emp;
请向我建议如何迁移上述命令。
解决方案
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;
推荐阅读
- java - 在双引号外的逗号上拆分。如果是单引号,则忽略双引号
- python - 在 python 中使用 ftplib 上传文件
- c++ - 如何从其内部指针访问 unique_ptr?
- database - 如何以管理员身份访问云上的 IBM DB2 仓库
- java - 如何使用 https://github.com/alamkanak/Android-Week-View 设置下个月的事件?
- c# - 只有 C# 匿名类型中允许的属性
- swift - 无法识别的选择器发送到实例,通知中心获取键盘大小
- android - 我的应用程序在第一次登录后显示空白屏幕 2 分钟
- javascript - 如何使用 jquery(或 javascript)设置关键帧 50%?
- c# - 通过 Angular 网页单点登录 (SSO) 到 Microsoft Bot v4 (WebChat)