Existe algum tipo "Lista Encadeada" em PL/SQL?
Esse tipo é implementado no Reports 6, mas não encontrei nada a respeito para usar em procedures de banco.
Tipo List
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Em PL/SQL se utilizam Nested Tables (tabelas aninhadas), que são parecidas como uma lista encadeada. Cada nó de uma nested table tem a estrutura de uma linha de uma tabela, e elas são navegadas de forma mista, usando métodos NEXT e PRIOR além de índices (FIRST, LAST, COUNT, etc).
Mencionei que nested tables são como listas encadeadas porque são esparsas, ao contrário de arrays. Ou seja, você pode deletar (método DELETE) um elemento do meio dela e o método NEXT vai pular os elementos deletados na navegação automaticamente, assim como o COUNT vai desconsiderá-los. Existe ainda o método TRIM para fazer um coalesce das porções esparsas da nested table, eliminando os nós vazios nas bordas.
Há ainda outros dois tipos de dados semelhantes, os V-Arrays e os Index-By Tables. Diferenciando a grosso modo, V-Arrays tem tamanho fixo e Index-By usam índices tipados (varchar, integer, usadas como tabelas temporárias de lookup).
Dê uma lida na documentação sobre Collections:
http://download.oracle.com/docs/cd/E118 ... osites.htm
Mencionei que nested tables são como listas encadeadas porque são esparsas, ao contrário de arrays. Ou seja, você pode deletar (método DELETE) um elemento do meio dela e o método NEXT vai pular os elementos deletados na navegação automaticamente, assim como o COUNT vai desconsiderá-los. Existe ainda o método TRIM para fazer um coalesce das porções esparsas da nested table, eliminando os nós vazios nas bordas.
Há ainda outros dois tipos de dados semelhantes, os V-Arrays e os Index-By Tables. Diferenciando a grosso modo, V-Arrays tem tamanho fixo e Index-By usam índices tipados (varchar, integer, usadas como tabelas temporárias de lookup).
Dê uma lida na documentação sobre Collections:
http://download.oracle.com/docs/cd/E118 ... osites.htm
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes