Ich bekomme einen ORA-06532-Fehler in meinem pl/SQL-Verfahren. Es hat mit meinem Array zu tun, und es scheint auf der Linie zu passieren, die beginnt: "term_1: = ...". Die Abfrage, die in auswählt, erhält 7 Datensätze, also sollte es die gleiche Menge sein, für die ich anrufe. Ich bin ein wenig neu in der SQL-Array-Sache, also habe ich etwas offensichtlich übersehen. Jede Hilfe wird geschätzt, danke.ORA-06532: Tiefgestellt außerhalb des Grenzfehlers
DECLARE
listOfTerms VC50_ARRAY;
term_1 varchar2(30);
term_2 varchar2(30);
term_3 varchar2(30);
term_4 varchar2(30);
term_5 varchar2(30);
term_6 varchar2(30);
term_7 varchar2(30);
BEGIN
SELECT apl.awdp_acad_terms
BULK COLLECT INTO listOfTerms
FROM fa_years fay
JOIN award_periods_ls apl
ON apl.award_periods_id = fay.award_periods_id
WHERE (SELECT b.awdp_fa_year as faYear
FROM award_periods_ls a
JOIN coll18_test.fa_years b ON a.award_periods_id = b.award_periods_id
WHERE awdp_acad_terms = v_ug_term) = fay.awdp_fa_year
ORDER BY apl.awdp_acad_terms DESC;
term_1 := listOFTerms(1);
term_2 := listOFTerms(2);
term_3 := listOFTerms(3);
term_4 := listOFTerms(4);
term_5 := listOFTerms(5);
term_6 := listOFTerms(6);
term_7 := listOFTerms(7);
Sie brauchen keine 'LOOP', wenn Sie' BULK COLLECT' ohne 'LIMIT' verwenden. –
Danke @Vincent, das ist die Gewohnheit zu zeigen. – Ben
Vielen Dank für die Antwort und Entschuldigung für die späte Antwort, aber wenn das meinem Code entspricht, würde ich nicht den gleichen Fehler bekommen (was der Fall ist). Aus irgendeinem Grund würde ich immer noch den gleichen Fehler bekommen – Dan