Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Buscar
download
post favorito
comentrios
Conhece a assinatura MVP?
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
Publicidade
1/11
16/6/2014
Gostei (2)
(0)
Servios
1. Introduo
CONTEDO
REVISTAS
CURSOS
DEVWARE
MVP
Inclua um comentrio
LOGIN
+Banco de dados
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
2/11
16/6/2014
Para referenciar um elemento (valor) no vetor, devemos utilizar o nome do vetor em questo
e o ndice (ou subscrito) do elemento que desejamos acessar entre parnteses. Tem-se,
por exemplo, que V(7) constitui uma referncia ao stimo elemento do vetor V, cujo valor
8.5. No entanto, o primeiro passo para a utilizao de um vetor em PL/SQL consiste na sua
declarao (criao). O cdigo a seguir apresenta uma maneira que pode ser utilizada para
declarar o vetor V dentro de um programa PL/SQL.
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
3/11
16/6/2014
BEGIN
<corpo do programa...>
END;
No exemplo acima, o vetor foi V foi declarado dentro de uma procedure denominada
P_TESTE. Para que o vetor pudesse ser declarado, primeiro foi necessrio criar o seu
tipo (com o uso do comando TYPE). Observe que foi criado um tipo denominado tVETOR,
que especifica um vetor de 10 posies para valores do tipo NUMBER(4,2). Aps a definio
do tipo que deve ocorrer, de fato, a declarao do vetor. Em nosso exemplo, o vetor
foi declarado com nome V e com o tipo tVETOR. importante saber que, uma vez declarado,
um vetor no poder ser redimensionado durante a execuo do programa PL/SQL.
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
4/11
16/6/2014
Para que qualquer elemento do vetor possa ser referenciado dentro do corpo do programa,
preciso que este seja inicializado - caso contrrio o PL/SQL ir disparar uma exceo (ou
seja, um erro. Os diferentes tipos exceo sero examinados no prximo artigo desta srie).
Para exemplificar o processo de inicializao de vetores, considere a funo F_APROVADOS,
cuja especificao apresentada na Figura 2. Esta funo cria e preenche um vetor
contendo a mdia final de 10 alunos. Em seguida, o vetor percorrido por um loop (comando
for) e o nmero de alunos aprovados contabilizado (alunos cuja mdia final igual ou
superior a 7.0). O resultado deste clculo retornado pela funo para o usurio.
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
5/11
16/6/2014
V := tVETOR(7.8, 5.0, 8.5, 9.0, 6.4, 10.0, 8.5, 8.6, 7.5, 9.2);
Com a utilizao do construtor, seria possvel tambm inicializar o vetor com o valor zero em
todas as suas dez posies, conforme indica o exemplo a seguir:
V := tVETOR(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
O detalhe mais importante que voc precisa saber o seguinte: no PL/SQL, para que uma
posio de um VARRAY possa ser referenciada (ou seja, para a posio poder ter um
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
6/11
16/6/2014
valor lido ou atribudo), primeiro necessrio que o seu subscrito seja inicializado.
Vamos agora retornar ao programa da Figura 2. Observe que aps a inicializao do vetor, os
seus elementos so examinados num loop, para que a quantidade de mdias superiores ao
valor 7 possa ser contabilizada (linhas 14 a 18) e ento retornada pela funo (linha 21).
Para testar a funo (caso voc a tenha criado em seu banco Oracle), basta utilizar o
seguinte comando SELECT:
3. Comentrios Finais
Este artigo apresentou alguns conceitos elementares sobre o tipo VARRAY do Oracle. Em
artigos futuros sero exploradas mais caractersticas deste recurso, tais como a forma de
passar um VARRAY como parmetro em procedimentos e funes PL/SQL, como fazer
vetores receberem dados oriundos de tabelas Oracle num programa e tambm a maneira pela
qual um vetor pode ser armazenado numa tabela. At breve!
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
7/11
16/6/2014
Gostei (2)
(0)
8/11
16/6/2014
Mais posts
Revista
9/11
16/6/2014
Video aula
10/11
16/6/2014
http://www.devmedia.com.br/utilizando-vetores-no-oracle-parte-1/5136
11/11