SQL Помещение запроса в функцию PL/SQL
Есть SQL-запрос, который определяет максимальное и минимальное время между событиями:
SELECT CONCAT(person.NAME, ' ', person.PATRONYMIC) AS Worker, MIN(DATEDIFF(SDATE, LDATE)+1) AS mindiff, MAX(DATEDIFF(SDATE, LDATE)+1) AS maxdiff
FROM (SELECT SDATE, LAG(SDATE)OVER(ORDER BY SDATE) AS LDATE
FROM schedule_
WHERE PERSON_1 = 3 OR PERSON_2 = 3) AS rest, person
WHERE LDATE IS NOT NULL AND person.ID=3
Необходимо на основе этого запроса создать функцию PL/SQL, которая должна возвращать курсор с результатом.
Синтаксис Pl/SQL знаю весьма поверхностно, можете помочь со структурой запроса? Что должно быть написано после DECLARE
, и что нужно поменять в самом запросе, когда его в функцию вставляешь?
Источник: Stack Overflow на русском