POSTGRESQL中ERROR: recursive query "t" column 2 has type character varying(150) in non-recursive term but type character varying overall

最近在做项目的时候有个需求是需要查到当前登录的用户下辖所有区域的数据,并将查询出来的部门信息以如下格式展示

最高人民法院>江苏省高级人民法院>南通市中级人民法院
最高人民法院>江苏省高级人民法院>连云港市中级人民法院

,于是用如下语句查询

WITH RECURSIVE T AS (SELECTc_id,c_nameFROMdb_aty.t_aty_corpWHEREc_pid IS NULLUNION ALLSELECTD.c_id,T.c_name || '>' || D.c_nameFROMdb_aty.t_aty_corp DJOIN T ON D.c_pid = T .c_id
) SELECTc_id AS corpId,c_name AS corpName
FROMT

但是出现了如下错误

ERROR:  recursive query "t" column 2 has type character varying(150) in non-recursive term but type character varying overall

根据错误提示猜测这是因为在sql语句中使用union all 时  需要前后查询出的字段属性一致,而在进行查询时,使用t.c_name || '>' || D.c_name 时由于是拼接的字符串 所以字段属性与前面的

c_name不一致,所以导致报错,

解决办法:为拼接后的字符串指定字段格式

WITH RECURSIVE T  AS (SELECTc_id,c_name::varchar(150)FROMdb_aty.t_aty_corpWHEREc_pid is nullUNION ALLSELECTD.c_id,(T.c_name   || '>' || D.c_name )::varchar(150) as c_nameFROMdb_aty.t_aty_corp DJOIN T ON D.c_pid = T .c_id
)
SELECT c_id AS corpId ,c_name as corpName  FROM T

--z
SELECT'/' || NAME_PATH || '/' || C.XNAME AS path2
FROM(WITH RECURSIVE T  AS (SELECTXOID,XNAME,GXGROUP,GXCORP,XNAME::varchar(150) as NAME_PATHFROMGXGROUPROLEWHEREXOID = '1004000004K3ZUAZG908'UNION ALLSELECTD.XOID,D.XNAME,D.GXGROUP,D.GXCORP,(T.NAME_PATH || '/' || D.XNAME)::varchar(150) as NAME_PATHFROMGXGROUPROLE DJOIN T ON D.XOID = T .GXGROUP)SELECT *  FROM T) GLEFT JOIN GXCORPORATION C ON G.GXCORP = C.XOID
WHEREGXGROUP IS NULL

Oracle 转 PG- ERROR: recursive query “t“ column 2 has type character varying(150) in non-recursive t相关推荐

  1. SpringBoot:ERROR: column “***“ is of type numeric but expression is of type character varying

    问题 SpringBoot:在postgresql数据库提交数据时,出现ERROR: column "***" is of type numeric but expression ...

  2. JPA ERROR: value too long for type character varying(100)

    生产上出现问题,一个功能导入Excel,本来代码中写的是两万条记录,但是现实是只能导入20条记录.然后查看日志发现报错. ERROR: value too long for type characte ...

  3. mysql错误码1709_MySQL5.6出现ERROR 1709 (HY000): Index column size too large问题的解决方法...

    一.问题 mysql 5.6 出现如下问题: [ERROR 1709 (HY000): Index column size too large. The maximum column size is ...

  4. Error running query: MetaException(message:Got exception: java.net.ConnectException Call From XXXX

    问题截图 问题描述 Error: Error running query: MetaException(message:Got exception: java.net.ConnectException ...

  5. cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少!

    作者  Iris   (PG深度爱好者) 一.项目描述 前段时间刚完成一个应用ORACLE改造的项目,数据体量比较大,业务改造的周期计划比较短,再加上自研分布式MYSQL对事务.存储过程等限制,所以应 ...

  6. probable oracle net,ORA-28547: connection to server failed, probable Oracle Net admin error

    Navicat 连接服务器 Oracle 出现问题, ORA-28547: connection to server failed, probable Oracle Net admin error 用 ...

  7. ERROR: No query specified

    ERROR: No query specified 前言 原因 总结 前言 我们在进行一些 SQL 语句操作的时候,有时候结果能显示,但是在最后一行仍然会出现一行错误提示 原因 常见的场景就是我们在使 ...

  8. Parse Fatal Error at line 4 column 43: 已经为元素 web-app 指定属性 xmlns。

    转载自:http://www.cnblogs.com/mophy/p/5987582.html Parse Fatal Error at line 4 column 43: 已经为元素 "w ...

  9. ERROR: No query specified(Mysql数据库报错)

    我在使用语句 show create procedure protest.pro_test1\G:查询存储过程的时候出现了错误: ERROR: No query specified 虽然可以正确执行, ...

  10. mysql出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'如何解决?

    mysql中有一个系统默认的mysql数据库,里边有一个user权限表,在我学习到用户管理的时候使用了如下语句但是系统报错了. select host,user,password from user; ...

最新文章

  1. Fragment里面嵌套Fragment注意事项
  2. java script w3c study notes
  3. 监控员工离职倾向系统已被下架,网友:劝你善良
  4. 简单的同步Socket程序服务端
  5. 手机钉钉在进行视频会议时怎么录屏
  6. Linux 下 -bash: mysql: command not found解决办法
  7. 接收list对象_PyTorch入门视频笔记从数组、列表对象中创建Tensor
  8. centos java tar_CentOS安装JDK-tar.gz文件
  9. JS中的事件委托/事件代理详解
  10. 自然语言处理_人工智能自然语言处理技术拉动产业升级引擎
  11. 魔兽国服修改服务器地址,魔兽国服退役服务器上架暴雪官方商店
  12. 时频分析方法及其在EEG脑电中的应用
  13. gmp新附录 计算机系统,GMP新附录:计算机系统.doc
  14. Mysql 基准测试
  15. linux共享内存 pmu,基于ARM的GPS-无源北斗互备PMU研究与设计
  16. 通过canvas画出爱心图案,表达你的爱意!
  17. CentOS 开机启动详解
  18. 第17章 国际贸易与资本流动
  19. wtc java 代码 tpcall(servicename_WebLogic下WTC Service的配置
  20. python网络爬虫学习的汇总

热门文章

  1. linux 命令总结之tr命令
  2. 勒索病毒基础介绍,值得收藏
  3. Greedy search 和 beam search
  4. multiprocessing.Pool(pool.map pool.apply pool.apply_async poo.map_async)
  5. 韶大talk 评论热度抽取
  6. java 背单词系统_快速高效背单词系统方法论
  7. Qt 教程(传智教育)
  8. 数据库服务的启动和停止
  9. [爬虫]一个关于课堂派课件的爬虫
  10. 恢复html默认打开方式,打开方式怎么还原?文件打开方式修复的方法