【发布时间】:2014-08-11 23:05:12
【问题描述】:
如果我只能引用一个由多个表组成的视图,如何获取列的默认值?相反,它甚至可行吗?
暂时忽略权限。 here 讨论了如何直接从表中获取列的默认值,但这还不够,因为如果我在视图中查询列的默认值,它会合理地返回 none/null。
【问题讨论】:
标签: sql postgresql sql-view
如果我只能引用一个由多个表组成的视图,如何获取列的默认值?相反,它甚至可行吗?
暂时忽略权限。 here 讨论了如何直接从表中获取列的默认值,但这还不够,因为如果我在视图中查询列的默认值,它会合理地返回 none/null。
【问题讨论】:
标签: sql postgresql sql-view
首先您需要找出该列来自哪个表。您可以查询系统目录:
SELECT definition
FROM pg_views
WHERE viewname = 'my_view'
AND schemaname = 'public';
或者在 psql 中获取视图定义:
\d+ my_view
或者只是在 pgAdmin 的对象浏览器中查找它。
然后你可以从那里开始使用你已经找到的技术:
或者,要获得一个实际的值,而不仅仅是计算它的表达式:
【讨论】: