यहां संग्रहीत प्रक्रिया है। इस proc में "p_subjectid" फ्रंट एंड से पारित संख्याओं की एक सरणी है।ओरेकल त्रुटि ORA-22905: गैर-नेस्टेड टेबल आइटम से पंक्तियों तक नहीं पहुंच सकता
PROCEDURE getsubjects(p_subjectid subjectid_tab,p_subjects out refCursor)
as
BEGIN
open p_subjects for select * from empsubject where subject_id in
(select column_value from table(p_subjectid));
--select * from table(cast(p_subjectid as packg.subjectid_tab))
END getsubjects;
यह वह त्रुटि है जो मुझे मिल रही है। ORA-00902: invalid datatype
:
Oracle error ORA-22905: cannot access rows from a non-nested table item OR
के रूप में मैं अलग पोस्ट में देखा है, मैं कास्टिंग "डाली (packg.subjectid_tab रूप p_subjectid)" के अंदर तालिका समारोह टिप्पणी में दिए गए below.But मैं एक और त्रुटि हो रही है के रूप में की कोशिश की।
और यह "subjectid_tab" की परिभाषा है।
type subjectid_tab is table of number index by binary_integer;
क्या कोई मुझे बता सकता है कि त्रुटि क्या है। क्या मेरी प्रक्रिया में कुछ भी गलत है।
यह ओरेकल 11 जी में काम नहीं करता है, अगर कोई और संघर्ष कर रहा है .. पीएलएस -00355: पीएल/एसक्यूएल तालिका का उपयोग इस संदर्भ में परिभाषित नहीं है। हालांकि ओरेकल 12 सी में सबकुछ अच्छा दिखता है। 11 जी में चारों ओर एक काम के रूप में, यदि आप केवल सहयोगी सरणी (जैसे नोडजेस) से जुड़ सकते हैं, तो मैं अपने सहयोगी सरणी को नेस्टेड टेबल (पहले इंडेक्स द्वारा प्रत्यय) में लूप कर रहा हूं; जो प्रदर्शन को मारता है, लेकिन आप क्या कर सकते हैं? अगर कोई बेहतर तरीके से जानता है, तो पहुंचने में संकोच न करें। –