Возвращение строк через SELECT но без SELECT..INTO
Есть код, по результатам которого мне нужно достать сумму из одной таблицы в другую. Чтобы её достать я установил условия совпадения номеров записей между таблицами(есть связанные и совпадающие записи)
create or replace function F_TESTSUM
(
nRN NUMBER
)
RETURN NUMBER
AS
INRN NUMBER;
RES PKG_STD.tSTRING;
BEGIN
INRN:=nRN;
BEGIN
SELECT CLPG.SUMM ---выбираем сумму из таблицы
INTO RES
FROM CLNPOSTSGS CLPG, --таблица откуда берётся сумма
GRSALARY GRSL, --- таблица, откуда беру вид оплаты суммы
CLNPSDEP CLNDPG,---таблица откуда беру даты проверки
CLNPOSTS CLPN --- таблица,по которой начинаю сравнивать номера записей для остальных таблиц
WHERE
CLPG.PRN = INRN
AND CLPG.PRN=CLPN.RN -- Записи равны между двумя таблицами
AND CLPN.RN=CLNDPG.POSTRN -- Записи равны между двумя таблицами
AND CLPG.GRSALARY = GRSL.RN -- Совпадение кода 'оклад' между двумя таблицами
AND CLNDPG.DO_ACT_FROM<=SYSDATE AND (CLNDPG.DO_ACT_TO>=SYSDATE OR CLNDPG.DO_ACT_TO IS NULL)
AND GRSL.CODE = 'оклад'; -- Само условия вида суммы 'оклад'
END;
RETURN RES;
END F_TESTSUM;
Но здесь вопрос не в условиях, а в том, что как только начинаю работать, то вылетает исключение:
Как я почитал о данной проблеме, исключение вылетает при использовании SELECT INTOс учётом возвращения не одной строки, а нескольких строк.
Я отдельно проверил SELECT и у меня возвращается много строк.
Тогда получается SELECT INTO не подходит, как надо мне решить мою проблему?

