Eu sei que há uma questão relacionada a tipos de dados inconsistentes, mas isso vem de uma consulta. enquanto estou recebendo este erro no lado do banco de dados quando tentamos acessar o tipo de dados definido pelo usuário em nosso esquema que está escrito em algum outro esquema. Por exemplo, estamos tendo esquema xxxtypes e definimos vários UDT lá. Agora, em nosso banco de dados, estamos usando xxxtypes.employeeList, portanto, está lançando o seguinte erro dessa linha.
java.sql.SQLSyntaxErrorException: ORA-00932: tipos de dados inconsistentes: esperado - obteve SYSTPzM8RTCHEUy/gQAB/AQBa6A==
EDIT: P: Por que esse erro está ocorrendo? e como superar isso?
Exemplos:
create or replace
TYPE InstalmentList IS TABLE OF InstalmentEntry;
create or replace
TYPE InstalmentEntry IS OBJECT
(
reservationinstalment_id NUMBER,
value NUMBER
);
Criamos o tipo acima no esquema xxxtypes, para utilizá-lo em diversos clientes. Agora, para o banco de dados de um cliente, estamos usando-o como:
SELECT
column_value AS list,
rownum AS rownumber
FROM
TABLE(
CAST(
powermultiset(
CAST(
MULTISET(
SELECT
rsv_int.reservationinstalment_id,
rsv_int.value
FROM reservationinstalment rsv_int
WHERE
rsv_int.reservation_id = p_reservation_id
AND
rsv_int.payer_type = p_payer_type
AND
rsv_int.type <> 'r'
)
AS
**xxxtypes.InstalmentList**
)
)
AS
InstalmentListList
)
)
) combinations
agora xxxtypes.InstalmentList está lançando um erro dizendo que está obtendo alguns tipos de dados inconsistentes.
O tipo
InstalmentList
é uma tabela aninhada deInstalmentEntry
, então você precisa construir um conjunto deInstalmentEntry
objetos para obter a lista.A consulta a seguir funciona em 11.2: