【问题标题】:Get default column value when referencing view SQL / Postgres引用视图 SQL / Postgres 时获取默认列值
【发布时间】:2014-08-11 23:05:12
【问题描述】:

如果我只能引用一个由多个表组成的视图,如何获取列的默认值?相反,它甚至可行吗?

暂时忽略权限。 here 讨论了如何直接从表中获取列的默认值,但这还不够,因为如果我在视图中查询列的默认值,它会合理地返回 none/null。

【问题讨论】:

    标签: sql postgresql sql-view


    【解决方案1】:

    首先您需要找出该列来自哪个表。您可以查询系统目录

    SELECT definition
    FROM   pg_views
    WHERE  viewname = 'my_view'
    AND    schemaname = 'public';
    

    或者在 psql 中获取视图定义:

    \d+ my_view
    

    或者只是在 pgAdmin 的对象浏览器中查找它。
    然后你可以从那里开始使用你已经找到的技术:

    或者,要获得一个实际的,而不仅仅是计算它的表达式:

    【讨论】:

    • 嗨欧文。太好了,我能够得到所描述的视图定义。对我来说幸运的是,我的表命名相似(通用前缀)。因此,希望我能够通过名称/列进行解析,并按照建议提取数据。再次感谢先生!
    猜你喜欢
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多