PostgreSql 报错 ERROR: cannot alter type of a column used by a view or rule¶ 详细:rule _RETURN on view

场景:  

PostgreSql 在给某张表的某个字段修改字段长度的时候报错 

举例: 数据库:wms  表:t_user 字段:email

-- 字段 email(100) 扩长到 email(200)
ALTER TABLE wms.t_user ALTER COLUMN email TYPE varchar(200) USING email::varchar;

SQL 错误 [0A000]: ERROR: cannot alter type of a column used by a view or rule¶  详细:rule _RETURN on view wms.t_view_1 depends on column "email"

意思是 wms数据库中的t_view_1视图引用到了 wms.t_user 的 email字段, 此时如果我们修改长度的话就会报错

解决方法: 

执行脚本

SELECT Wms.Deps_Save_And_Drop_Dependencies('wms', 't_user');
 
ALTER TABLE wip.t_user ALTER Column email TYPE VARCHAR(200)
USING location_no ::VARCHAR;
 
SELECT Wms.Deps_Restore_Dependencies('wms', 't_user');

觉得有用的话就给文章点赞收藏吧, 蟹蟹

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值