ORA-01422: 실제 인출은 요구된 것보다 많은 수의 행을 추출합니다
이 에러코드가 왜 발생하고 어떻게 해결하는지 모르겠습니다. 아래
프로시저를 한번 예제로 짜보았는데 왜 이 에러가 발생하는지 모르겠
습니다.
<parameterMap class="java.util.HashMap" id="test">
<parameter property="bbsNo" javaType="Integer" jdbcType="NUMBER" mode="IN"/>
<parameter property="title" javaType="String" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="readboardtest" parameterMap="test" resultClass="java.lang.String">
{ call proc_rowids(?,?) }
</procedure>
위 구문은 자바에서 아래 프로시저 호출하는 호출문이고, 아래는 호출되는 프로시저입니다.
---------------------------------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE proc_rowids(bbsNo IN NUMBER,
title OUT VARCHAR2)
IS
fastcall tbl_board.FASTCALL_B%TYPE;
BEGIN
SELECT ROWID
INTO fastcall
FROM TBL_BOARD
WHERE bbsno = bbsNo;
UPDATE TBL_BOARD
SET TBL_BOARD.FASTCALL_B = NVL(fastcall_b, fastcall), TBL_BOARD.READCNT = TBL_BOARD.READCNT + 1
WHERE TBL_BOARD.BBSNO = bbsNo;
SELECT TBL_BOARD.TITLE
INTO title
FROM TBL_BOARD
WHERE TBL_BOARD.BBSNO = bbsNo;
END;
---------------------------------------------------------------------------------------------------------------------------------------------------