Primeiro se cria um tipo de dados como se deseja
1 2 3 4 5 6 7 8 9 10 11 12 | create or replace TYPE "TIPO_DE_DADOS_GENERICO_5N5S" as object ( codcoligada number, idprj number, idtrf number, idprd number, numerosequencial number, status varchar2(4000), acao varchar2(4000), correcao varchar2(4000), op1 varchar2(4000), op2 varchar2(4000) ); |
Depois se cria um tipo de dados que retorna um tipo table do tipo de dados anterior.
create or replace TYPE "TAB_GENERICA_5N5S" as table of TIPO_DE_DADOS_GENERICO_5N5S;
Depois se cria uma funcão que retorna uma tabela genérica.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | create or replace FUNCTION "EDU_SOLUM_X_NUCLEOS" (N_COL NUMBER,N_PRJ NUMBER) RETURN TAB_GENERICA_5N5S AS v_tab TAB_GENERICA_5N5S := TAB_GENERICA_5N5S(); V_COUNT_MOV NUMBER; --Recebe a quantidade de proximos movimentos V_SEQUENCIAL NUMBER; -- Identifica o numero de etapas para cada grupo BEGIN V_COUNT_MOV := 0; V_SEQUENCIAL := 0; v_tab.extend; v_tab(v_tab.last) := TIPO_DE_DADOS_GENERICO_5N5S(V_COUNT_MOV,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); RETURN v_tab; END; |
Documentação de Coleção de Dados: ORACLE DOCS