【问题标题】:postgres change data type of view column from unknown to textpostgres将视图列的数据类型从未知更改为文本
【发布时间】:2013-05-11 06:35:04
【问题描述】:

我只是创建一个新视图如下

CREATE OR REPLACE VIEW gettreelistvw AS 
 SELECT "CRM".groupid, 'pointrewarding'::text AS applicationid, "CM".menuid, "CM".menuname, "CM".levelstructure, "CM".moduleid, "CM".haschild, "CM".installed
   FROM core_capabilitymap "CRM"
   JOIN core_menus "CM" ON "CRM".menuid::text = "CM".menuid::text;

ALTER TABLE gettreelistvw

当我执行时出现此错误

错误:无法更改视图列“applicationid”的数据类型 文字未知

虽然我已经将 applicationid 列的值转换为文本。它仍然被识别为未知数据类型

'pointrewarding'::text

postgres 转换的替代方法也不起作用。

CAST('pointrewarding' AS TEXT)

如何解决这个问题。

【问题讨论】:

标签: postgresql view sqldatatypes


【解决方案1】:

如果您想更改视图列的数据类型,您必须先删除它,然后再创建它。

Version 9.2 docs

CREATE OR REPLACE VIEW .... 新查询必须生成与现有视图查询相同的列(即相同的列名相同的顺序 并且具有相同的数据类型),但它可能会在列表末尾添加其他列。

添加了重点。

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    相关资源
    最近更新 更多