I am begginer in PL/SQL
and I want to create function to retrive AllProject.
SO far what I create is
CREATE OR REPLACE FUNCTION GETALLPROJECTS(currentUserID in INT)
RETURN SYS_REFCURSOR
IS
rc SYS_REFCURSOR;
BEGIN
OPEN rc FOR
SELECT p.*
FROM projects p
LEFT JOIN project_users_schedule_dates pusd
ON
pusd.ProjectID = p.ProjectID
AND
pusd.UserID = currentUserID
LEFT JOIN responsible_persons rp
ON
rp.ProjectID = p.ProjectID
AND
rp.UserID = currentUserID
LEFT JOIN users u ON u.UserID = currentUserID
WHERE
u.User_roleID = 1
(
(p.Responsible_person_id = currentUserId OR
p.Delivery_contact = currentUserId OR
rp.UserID = currentUserId OR
(pusd.ProjectID = p.ProjectID AND
pusd.UserID = currentUserId AND NOW() BETWEEN pusd.StartDate AND pusd.EndDate + INTERVAL 1 DAY
AND
NOW() BETWEEN p.StartDate AND p.EndDate + INTERVAL 1 DAY)
AND p.status = 2)
)
ORDER BY p.ProjectID;
RETURN rc;
END GETALLPROJECTS;
When I compile I gett two error which I dont understand what errors are:
First error is:
Error(6,1): PL/SQL: SQL Statement ignored
And Second error is:
Error(27,24): PL/SQL: ORA-00933: SQL command not properly ended