A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

III - Oracle 9i Com coleções, cursor não é mais necessário.

Apresentações semelhantes


Apresentação em tema: "III - Oracle 9i Com coleções, cursor não é mais necessário."— Transcrição da apresentação:

1 III - Oracle 9i Com coleções, cursor não é mais necessário

2 Cursor Não É Mais Necessário Considerando que agora dispõe-se de variáveis do tipo coleção  varray ou nested table , não há mais necessidade de definir cursores: uma coleção de valores recuperada de um SELECT é armazenada diretamente em uma variável-coleção compatível

3 DECLARE TYPE NumTab IS TABLE OF emp.empno%TYPE; TYPE NameTab IS TABLE OF emp.ename%TYPE; enums NumTab; -- no need to initialize names NameTab; BEGIN SELECT empno, ename BULK COLLECT INTO enums, names FROM emp;... END;

4 CREATE TYPE Coords AS OBJECT (x NUMBER, y NUMBER); CREATE TABLE grid (num NUMBER, loc Coords); INSERT INTO grid VALUES(10, Coords(1,2)); INSERT INTO grid VALUES(20, Coords(3,4)); DECLARE TYPE CoordsTab IS TABLE OF Coords; pairs CoordsTab; BEGIN SELECT loc BULK COLLECT INTO pairs FROM grid; -- now pairs contains (1,2) and (3,4) END;

5 Restrições Note que BULK COLLECT INTO tem uma limitação: se a lista do SELECT tem i elementos (p.e., empno, ename ), então devem ser declaradas i variáveis do tipo coleção (p.e., enums, names )

6 Exercícios Implemente o método nomes_estrelas da interface Metodos_Filme interface Metodos_Filme { float duração_em_horas() raises(duração não encontrada) /* converte duração em min para duração em hh:min */; nomes_estrelas(out Set ) /* retorna o conjunto das estrelas de um filme */; nome_estúdio(out string) raises (estúdio não encontrado) /* retorna o nome do estúdio que realizou o filme */;... Obs: Usar a construção SELECT... BULK COLLECT INTO...


Carregar ppt "III - Oracle 9i Com coleções, cursor não é mais necessário."

Apresentações semelhantes


Anúncios Google