我今天遇到了一个问题,但我看不出我的代码有什么问题。我创建了一个包含SELECT INTO的过程,该过程获取2行和2个变量。我拿出了程序的某些部分,否则会花太长时间:
在AS中我声明了一个CURSOR,它选择表WINKEL中的所有记录。
CURSOR v_winkels IS
SELECT W.id
FROM WINKEL W;
Oracle后来在这里抛出一个ORA-01422 EXCEPTION:
FOR w IN v_winkels LOOP
dbms_output.put_line('ID is ' || w.id);
SELECT P.lat, P.lon
INTO v_lat_winkel, v_lon_winkel
FROM POSTCODE P, WINKEL W
WHERE W.postcode_ID_FK = P.id
AND W.id = w.id;
我不明白这里有什么问题。我在Oracle SQL Developer中使用Oracle XE 11.2。
编辑:我已经使用了带有多个变量的SELECT INTO,所以我不明白为什么它在这里不起作用。示例代码:
SELECT P.id, P.street, P.city
INTO o_ID, o_straat, o_woonplaats
FROM POSTCODE P
WHERE P.postcode = i_postcode
AND i_huisnummer BETWEEN P.minNumber AND P.maxNumber
AND (P.numberType = v_even OR P.numberType = 'mixed')
AND ROWNUM = 1;