Подтвердить что ты не робот

postgres изменить тип данных типа столбца просмотра из unkown to text

Я просто создаю новое представление следующим образом

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)

Как решить эту проблему.

4b9b3361

Ответ 1

Если вы хотите изменить тип данных столбцов вида, вам нужно его удалить, а затем создать.

Документы версии 9.2

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОСМОТР.... Новый запрос должен генерировать те же столбцы, которые были созданы с помощью существующего запроса на просмотр (то есть те же имена столбцов в том же порядке и с теми же типами данных), но он может добавлять дополнительные столбцы до конца списка.

Акцент добавлен.