I am trying to create a small function in Oracle, but I am getting a compilation error. Here is the function I created.
CREATE OR REPLACE FUNCTION GETACLFORDOCKET
(I_DOCKET_NO IN NVARCHAR2)
RETURN NUMBER IS I_PRTCP NUMBER(10,0),
NVARCHAR2 IS I_PRTCPNAME NVARCHAR2(100);
BEGIN
SELECT B.PRTCP, PRTCPNAME
INTO I_PRTCP, I_PRTCPNAME
FROM PROCS A, WITEM B
WHERE A.PROCID = B.PROCID
AND A.PROCID IN(SELECT PROCID FROM RLVNTDATA
WHERE RLVNTDATANAME = 'DOCKET'
AND VALUE = I_DOCKET_NO)
ORDER BY B.PRTCPNAME;
RETURN (I_PRTCP, IPRTCPNAME);
END;
As you can see the function need to return two values.
one is a number (I_PRTCP) and the other is NVARCHAR2 (I_PRTCPNAME)
If I iliminate the second value the script get created without any problem, but when I add the second value it fail.
What did I do wrong!
CREATE OR REPLACE FUNCTION GETACLFORDOCKET
(I_DOCKET_NO IN NVARCHAR2)
RETURN NUMBER IS I_PRTCP NUMBER(10,0),
NVARCHAR2 IS I_PRTCPNAME NVARCHAR2(100);
BEGIN
SELECT B.PRTCP, PRTCPNAME
INTO I_PRTCP, I_PRTCPNAME
FROM PROCS A, WITEM B
WHERE A.PROCID = B.PROCID
AND A.PROCID IN(SELECT PROCID FROM RLVNTDATA
WHERE RLVNTDATANAME = 'DOCKET'
AND VALUE = I_DOCKET_NO)
ORDER BY B.PRTCPNAME;
RETURN (I_PRTCP, IPRTCPNAME);
END;
As you can see the function need to return two values.
one is a number (I_PRTCP) and the other is NVARCHAR2 (I_PRTCPNAME)
If I iliminate the second value the script get created without any problem, but when I add the second value it fail.
What did I do wrong!