कई दिनों तक गुगली करने के बाद, मैंने कोड को इस तरह बदल दिया:
CREATE OR REPLACE PACKAGE Support_Data_Types AS
TYPE ttDate IS TABLE OF DATE
END Support_Data_Types;
PROCEDURE GetData
(
tabDates IN SUPPORT_DATA_TYPES.TTDATE,
)
AS
v_temp SUPPORT_DATA_TYPES.TTDATE:= tabDates; -- assigned the parameter to a temporary variable
BEGIN
SELECT count(*) INTO n FROM table(v_temp);
END GetData;
केवल एक चीज जो मैंने की वह एक v_temp का उपयोग करना है जो काफी बेमानी लगती है। लेकिन यह काम करता है। मैंने यह बदलाव इसलिए किया है क्योंकि मैंने इस लेख को यहां खोजा है ... इसमें उल्लेख किया गया है:
<ब्लॉकक्वॉट>ध्यान दें, हालांकि, 12.1 तक, आप टेबल फ़ंक्शन को सीधे टेबल ऑपरेटर के अंदर कॉल नहीं कर सकते हैं। आपको इसे पीएल/एसक्यूएल में लागू करना होगा, एक वेरिएबल को परिणाम असाइन करना होगा, और फिर टेबल के अंदर वेरिएबल का संदर्भ देना होगा।
हालांकि मेरे मामले में स्थिति अलग है (मैं 12.2 का उपयोग कर रहा हूं), इससे मेरी समस्या हल हो गई।