Tabela anônima ou tipo VARRAY no Oracle

No Oracle, às vezes eu gostaria de criar construções como essas

SELECT * FROM TABLE(STRINGS('a', 'b', 'c'))
SELECT * FROM TABLE(NUMBERS(1, 2, 3))

Obviamente, posso declarar meus próprios tipos para os itens acima. Eu posso escolher entreTABLE eVARRAY. Por exemplo

CREATE TYPE STRINGS AS TABLE OF VARCHAR2(100);
CREATE TYPE NUMBERS AS VARRAY(100) OF NUMBER(10);

Nesse caso em particular, outra solução é escrever coisas como

SELECT 'a' FROM DUAL UNION ALL
SELECT 'b' FROM DUAL UNION ALL
SELECT 'c' FROM DUAL

Mas posso ter exemplos mais complexos em que realmente precisarei de umTABLE / VARRAY tipo. E se o meu SQL estiver sendo executado em um sistema desconhecido em que não posso criar tipos porque talvez eu não tenha as concessões necessárias?

Então minha pergunta é: A Oracle sabe "anônimo"TABLE / VARRAY tipos disponíveis em qualquer instância do Oracle? Semelhante ao simple @ do Postgres / H2 / HSQLARRAY types?

ATUALIZA: Eu estou executando principalmente este SQL a partir de Java, se isso for relevante. Não é necessário explicar o PL / SQL para mim, estou apenas procurando tipos de matriz SQL anônimos (ou seja, "anonymous"standalone tipos armazenados). Se eles não existirem, a resposta éNÃ

questionAnswers(3)

yourAnswerToTheQuestion