Please change your declaration( in DECLARE
block) like this, and you are done. DISTINCT
applies to entire row you SELECT
disregarding the number of columns actually in the TABLE. It happens after the Selection process only.
CURSOR c3_MY_TABLE (
p3_IDENTIFIER_01 IN VARCHAR2,
p3_IDENTIFIER_02 IN VARCHAR2
)
IS
SELECT DISTINCT IDENTIFIER_01,
IDENTIFIER_02
FROM MY_TABLE
WHERE MY_TABLE.IDENTIFIER_01 = p3_IDENTIFIER_01
AND MY_TABLE.IDENTIFIER_02 = p3_IDENTIFIER_02;
TYPE TY_ROW IS RECORD
(
IDENTIFIER_01 MY_TABLE.IDENTIFIER_01%TYPE,
IDENTIFIER_02 MY_TABLE.IDENTIFIER_02%TYPE
);
TYPE TY_TABLE is TABLE OF TY_ROW;
tb_c3_MY_TABLE TY_TABLE;