是否有方法按id引用表。本质上,表包含属于多个表之一的行。
例如,我需要在表的行中引用表ABC以便我知道要加入哪个表。
我假设如果没有在外部引用表的速记方法,那么惟一的选择就是存储表的名称。

最佳答案

有一个表的“速记参考”:目录表的OID。简单的方法:

SELECT 'schema_name.tbl_name'::regclass

但是,不要在用户表中持久化。系统表的oid在转储/还原周期中不稳定。
此外,普通SQL语句不允许参数化表名。所以你必须跳出圈套才能在查询中使用你的想法。object identifier或多个带有pg_class语句的左连接。。。可能很贵。

09-10 18:04