Trabalhando com PL/SQL Table no Oracle

[ad#texto]

Variáveis de tabelas também são conhecidas como arrays,  index-by tables, PL/SQL Tables ou ainda PL Tables.

Este é um recurso do PL/SQL da Oracle bem interessante, pois permite criar uma espécie de tabela virtual (definir campos e seus tipos) e com base nesta definição criar uma variável com sua estrutura, permitindo realizar inserção multilinhas de dados, remoção de linhas (dados) ou ainda iterar sobre os registros contidos, e o melhor, tudo é processo em altíssima performance.

Para definir a estrutura de uma PL/SQL Table:

-- Definição da estrutura do tipo
TYPE typ_alunos  IS
 RECORD (aluno sua_tabela.seu_campoi%TYPE
        ,nota NUMBER);

-- Define o tipo pela estrutura criada
TYPE typ_tab_alunos IS TABLE OF typ_alunos  INDEX BY PLS_INTEGER;

O próximo passo será criar uma variável com base neste tipo de estrutura criado:

vr_alunos  typ_tab_alunos;

Em uma PL/SQL Table não trabalhamos como se fosse uma tabela física, por exemplo, para restringir uma consulta de dados não pode utilizar a cláusula WHERE, por exemplo, até podemos mas é um assunto mais complexo, pois teremos que criar uma Pipe Table e isso fica para outra ocasião.

Veja alguns recursos de iteração de uma PL/SQL Table:

A sintaxe é:  table_name[ (parametros)]

EXISTS(n):  Retorna TRUE se o n elemento existir.

COUNT: Número de linhas da PL/SQL Table.

FIRST: Primeiro registro da PL/SQL Table.

LAST:  Último registro da PL/SQL Table, retorna NULL se está vazia

PRIOR(n): Retorna o índice que precede n na PL/SQL Table;

NEXT(n): Retorna o índice que sucede n na PL/SQL Table;

EXTEND(n,i): Adiciona n copias do i elemento para a PL/SQL Table. Default de i é NULL e default de n é 1 (existe apenas na versão 8 ou superior).

TRIM(n): Remove o n elemento do fim da PL/SQL Table. Default de n é 1 (existe apenas na versão 8 ou superior).

DELETE(m,n): Apaga os elementos entre m ... n. Default de m é n e default de n é TODOS elementos.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.