【问题标题】:Updating a view column in Postgresql更新 Postgresql 中的视图列
【发布时间】:2023-02-07 20:50:45
【问题描述】:

所以,我有一个客户信息数据库,从电话号码到姓名甚至位置。

我创建了一个仅包含活跃客户的视图,并包含一个额外的空白列,我们可以在其中指示客户是否进行了购买。

现在的问题是,我不断收到错误消息:无法更新视图的“购买”列

我尝试在创建的空白列中输入一个值。

请问如何更新视图中的空白列

【问题讨论】:

  • 你能分享你的VIEW吗?
  • 什么是视图中的空白列?您不能将数据存储在视图中,只能在表中完成。什么表应该存储这些数据,这个表是否有这样的列?

标签: postgresql


【解决方案1】:

如果您定义了一个视图列

NULL::text AS viewvol

或者

''::text AS viewcol

您不能将值插入该列,也不能更新它。视图上的数据修改被转换为基表上的数据修改,并且仅适用于使用表列定义的视图列。

您可以而且应该做的是为视图创建一个INSTEAD OF UPDATE 触发器,在基表上执行所需的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多