Ошибка пытается сказать вам, что вы не можете SELECT...INTO...
экземпляр типа, объявленного в PL / SQL.В этом случае проблема возникает из-за
SELECT LEAST(nseq_historico) INTO V_MANTER FROM DUPLICADAS
Здесь V_MANTER
имеет тип SEQ_HISTORICO
, который определен в блоке PL / SQL.
Однако вы можете BULK COLLECT
в коллекцию PL / SQL, но для использования функции MIN
необходимо добавить предложение GROUP BY.Из ваших комментариев следует, что вы хотите сгруппировать по HISTORICO_ESCOLAR.COD_DISCIPLINA, поэтому, сложив это вместе, мы получим:
WITH DUPLICADAS AS (select he.seq_historico,
he.cod_disciplina,
di.nom_disciplina,
pa.nom_fantasia,
he.cod_situacao_aluno_turma
from ow.historico_escolar he
inner join ow.periodo_academico pa
on he.num_seq_periodo_academico = pa.num_seq_periodo_academico
inner join ow.disciplina di
on he.cod_disciplina = di.cod_disciplina
where he.seq_aluno_curso = '424242' and
he.cod_situacao_aluno_turma = 'IS')
SELECT COD_DISCIPLINA, MIN(SEQ_HISTORICO)
BULK COLLECT INTO V_MANTER
FROM DUPLICADAS
GROUP BY COD_DISCIPLINA
Удачи.