下面这段sql放到Oracle里该怎么写呢?现在直接放过去,报错索引中丢失 IN 或 OUT 参数:: 3
SELECT ebi.* FROM eplus_building_info ebi
INNER JOIN eplus_relationship er ON ebi.id::text = er.target_key AND er.relationship_type = 'institution_building'
WHERE er.source_key IN (
WITH RECURSIVE r AS (
SELECT * FROM eplus_institution WHERE id::text = #{instId}
UNION ALL
SELECT ei.* FROM eplus_institution ei, r WHERE ei.parent_id = r.id
)
SELECT DISTINCT(id::text) FROM r
)
AND ebi.building_name like CONCAT('%',#{buildingName},'%')
变成Oracle写法应该是没问题了,但是还是会报错索引中丢失 IN 或 OUT 参数:: 3
应该和写法没关,是参数的问题,但是找不出来到底是哪错了
已经解决了,但是我不知道怎样设置成已解决。
是ebi.id::text 这个地方,Oracle不支持这种写法,要改成to__char(ebi.id),如果大家有遇到相同的问题,可以参考下_。