2016-11-27 3 views
1

В функции PL/SQL, я пытаюсь написать функцию с помощью следующего кода:Получение нескольких атрибутов в SELECT,

CREATE OR REPLACE FUNCTION Lib_func(id number,dateToday date) 
RETURN number IS retVal number(1); 

myBorrower number; 
myBook number; 

BEGIN 

SELECT P.book_id INTO myBook, P.request_id INTO myBorrower 
    FROM My_requests P 
    WHERE P.book_id = book_id AND ROWNUM <=1; 

//some if condition which updates value of retVal 
RETURN retVal; 
END; 
/

проблема заключается в том, что это приводит к ошибке при компиляции. Если я удалю второе (т. Е. P.request_id INTO myBorrower), тогда ошибка будет удалена. Могу ли я получить обе вещи, выбранные в одном запросе?

ответ

1

Синтаксис для выбора нескольких переменных является:

SELECT P.book_id , P.request_id 
INTO myBook,myBorrower 
FROM My_requests P 
WHERE P.book_id = book_id AND ROWNUM <=1; 
+0

о okayy. Большое спасибо! – Manahil

Смежные вопросы