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)
Как решить эту проблему.
Ответы
Ответ 1
Если вы хотите изменить тип данных столбцов вида, вам нужно его удалить, а затем создать.
Документы версии 9.2
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОСМОТР.... Новый запрос должен генерировать те же столбцы, которые были созданы с помощью существующего запроса на просмотр (то есть те же имена столбцов в том же порядке и с теми же типами данных), но он может добавлять дополнительные столбцы до конца списка.
Акцент добавлен.