2 hhhcsdnbk hhhCSDNbk 于 2017.08.31 13:50 提问

把下面这段sql变成Oracle写法!!!急!

下面这段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},'%')

3个回答

hhhCSDNbk
hhhCSDNbk   2017.08.31 14:02

变成Oracle写法应该是没问题了,但是还是会报错索引中丢失 IN 或 OUT 参数:: 3
应该和写法没关,是参数的问题,但是找不出来到底是哪错了

hhhCSDNbk
hhhCSDNbk   2017.09.01 15:21

已经解决了,但是我不知道怎样设置成已解决。

hhhCSDNbk
hhhCSDNbk   2017.09.01 15:23

是ebi.id::text 这个地方,Oracle不支持这种写法,要改成to__char(ebi.id),如果大家有遇到相同的问题,可以参考下_。

Csdn user default icon
上传中...
上传图片
插入图片