我有一个返回数据的表的字段如下:
<row id="12345">
<car>BMWX1-546</car>
<car>BMWX2-765</car>
</row>
我想创建一个功能,帮助我循环搜索并根据车辆模型搜索,以便我可以获得注册号。
我已经开始了以下操作,但是当我编译时,我收到了ORA-00936错误。
create or replace FUNCTION GET_REG_NO(veh_model VARCHAR2) RETURN VARCHAR2 AS
MODELS_REGNOS XMLTYPE;
REG_NO VARCHAR2(100);
v_count NUMBER(38) := 1;
BEGIN
SELECT
XMLRECORD
INTO MODELS_REGNOS
FROM
VEHICLES;
WHILE MODELS_REGNOS.existsNode('//row/car[' || v_count || ']') = 1 LOOP
REG_NO := MODELS_REGNOS.extract('//row/car[' || v_count || ']/text()').getStringVal();
v_count := v_count + 1;
END LOOP;
RETURN REG_NO ;
END GET_REG_NO;
答案 0 :(得分:0)
这是一个小小的错字。查询失败,因为您没有表的别名a
。
SELECT
a.XMLRECORD
INTO MODELS_REGNOS
FROM
VEHICLES a;