Já bych silně podezření, že to nechcete udělat. Dynamické vytváření typů objektů a budování tohoto druhu flexibility v PL/SQL je téměř vždy receptem na zmar. Nakonec budete všude psát extrémně komplikované dynamické SQL (jak ve volajících, tak ve vašich funkcích), což způsobí, že váš kód bude mnohem, mnohem obtížnější číst a ladit. Když se váš kód stane tak složitým, je lepší napsat frameworky, které generují kód, ale to vám zbude mnohem, mnohem těžší problém s psaním kódu, který generuje kód, který vyřeší váš problém, než jen psaním kódu, který vyřeší váš problém.
To znamená, že pokud jste opravdu, opravdu odhodlaní, je možné postavit zcela obecná funkce zřetězené tabulky . To zahrnuje hluboké, hluboké kouzlení pomocí rámce Oracle Data Cartridge. Je to docela v pohodě. Ale počet lidí, kteří by mohli reálně podporovat a rozšiřovat tento druh kódu, je velmi malý.
S o něco menším množstvím kouzel (ale stále mnohem více, než bych navrhoval prakticky jakékoli organizaci), můžete vytvořit funkce flexibilní zřetězené tabulky který se spoléhá na vracení typů z předdefinované hierarchie typů. To je pravděpodobněji podporovatelné, ale předpokládá se, že si můžete předem vytvořit hierarchii typů.