//先要删除依赖 select public.deps_save_and_drop_dependencies(cy, cy_outplan_master) //修改字段长度之后再执行下面语句 //恢复之前的依赖 select public.deps_restore_dependencies(cy, cy_outplan_master)----------------------------------------------------------------------------------------------------------------------------在恢复依赖的时候肯回报错如下1、ERROR: query string argument of EXECUTE is null CONTEXT: PL/pgSQL function deps_restore_dependencies(name,name) line 12 at EXECUTE 核心原因 函数 deps_restore_dependencies(schema name, tablename name) 第 12 行 EXECUTE 变量这个动态 SQL 文本变量变成了 NULLPostgreSQL 不允许执行 NULL 语句。 出现 NULL 最常见 3 种场景 拼接 SQL 时任意一段值为 NULL整个字符串 || 拼接结果直接 NULL 入参 schema/table 传了 NULL 查询赋值 SELECT INTO 没查到数据SQL 变量被置空 解决方案 1.先查出哪条数据的 ddl 是空值 SELECT deps_id, deps_ddl_to_run FROM deps_saved_ddl WHERE deps_view_schema cy AND deps_view_name cy_cntrin AND deps_ddl_to_run IS NULL; 2.将脏数据清掉 DELETE FROM deps_saved_ddl WHERE deps_view_schema cy AND deps_view_name cy_cntrin AND deps_ddl_to_run IS NULL; 3.在执行恢复依赖 注释 deps_saved_ddl 表含义 字段 类型 作用 deps_id bigserial 自增主键每条 SQL 一条记录 deps_view_schema name 目标对象所在 schema你的 cy deps_view_name name 目标表 / 视图名称你的 cy_cntrin deps_ddl_to_run text 核心存放单条重建 / 授权 DDL 语句 create_time timestamp 备份写入时间
Postgre 修改字段长度
//先要删除依赖 select public.deps_save_and_drop_dependencies(cy, cy_outplan_master) //修改字段长度之后再执行下面语句 //恢复之前的依赖 select public.deps_restore_dependencies(cy, cy_outplan_master)----------------------------------------------------------------------------------------------------------------------------在恢复依赖的时候肯回报错如下1、ERROR: query string argument of EXECUTE is null CONTEXT: PL/pgSQL function deps_restore_dependencies(name,name) line 12 at EXECUTE 核心原因 函数 deps_restore_dependencies(schema name, tablename name) 第 12 行 EXECUTE 变量这个动态 SQL 文本变量变成了 NULLPostgreSQL 不允许执行 NULL 语句。 出现 NULL 最常见 3 种场景 拼接 SQL 时任意一段值为 NULL整个字符串 || 拼接结果直接 NULL 入参 schema/table 传了 NULL 查询赋值 SELECT INTO 没查到数据SQL 变量被置空 解决方案 1.先查出哪条数据的 ddl 是空值 SELECT deps_id, deps_ddl_to_run FROM deps_saved_ddl WHERE deps_view_schema cy AND deps_view_name cy_cntrin AND deps_ddl_to_run IS NULL; 2.将脏数据清掉 DELETE FROM deps_saved_ddl WHERE deps_view_schema cy AND deps_view_name cy_cntrin AND deps_ddl_to_run IS NULL; 3.在执行恢复依赖 注释 deps_saved_ddl 表含义 字段 类型 作用 deps_id bigserial 自增主键每条 SQL 一条记录 deps_view_schema name 目标对象所在 schema你的 cy deps_view_name name 目标表 / 视图名称你的 cy_cntrin deps_ddl_to_run text 核心存放单条重建 / 授权 DDL 语句 create_time timestamp 备份写入时间