是否有方法按id引用表。本质上,表包含属于多个表之一的行。
例如,我需要在表的行中引用表A
或B
或C
以便我知道要加入哪个表。
我假设如果没有在外部引用表的速记方法,那么惟一的选择就是存储表的名称。
最佳答案
有一个表的“速记参考”:目录表的OID。简单的方法:
SELECT 'schema_name.tbl_name'::regclass
但是,不要在用户表中持久化。系统表的oid在转储/还原周期中不稳定。
此外,普通SQL语句不允许参数化表名。所以你必须跳出圈套才能在查询中使用你的想法。object identifier或多个带有
pg_class
语句的左连接。。。可能很贵。