Com coleções, cursor não é mais necessário

Slides:



Advertisements
Apresentações semelhantes
Ruby Introdução.
Advertisements

Object Query Language - OQL
Object Definifion Language - ODL
Estudo de Caso, modelo Oracle 10g
Gerenciamento de Dados e Informação Estudo de caso – PL/SQL
VI- Implementação Objeto-Relacional
Modelo de Objetos ODMG.
Banco de Dados SQL Stored Procedures
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Maurício Edgar Stivanello
Hierarquia de Visões de Objeto
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
Banco de Dados Objetos Relacionais
Banco de dados Profª Kelly Medeiros.
PostgreSQL.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Conceitos de SGBD Objeto-Relacional Oracle 10g [2]
Equipe de monitoria Aula prática 4
Equipe de monitoria Aula prática 4
Bancos de Dados Espaciais
Vânia Maria Ponte Vidal
SQL Server 2012 Tipos de Dados e Tabelas
PL/SQL, Procedures e Funções
Monitoria GDI Aula Prática
Tipos de Linguagens do Banco de Dados
Equipe de monitoria Aula prática 3.  Caso de estudo  Igualando situações  Cursor  Function  Procedure  Trigger  Package  Surpresa...
Equipe de monitoria Aula prática 4
Primeira aula de PL/SQL Parte II
Especialização em Tecnologia da Informação
SEGUNDA FASE / S2B MIC PERNAMBUCO SEGUNDA FASE / S2B MIC PERNAMBUCO
Paradigmas de Linguagens de Programação Linguagem Orientada a Objetos 1 Augusto Sampaio e Paulo Borba Departamento de Informática Universidade Federal.
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
Conceitos de SGBD Objeto-Relacional Oracle 10g [1]
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
III – Oracle10g Funções que Manipulam Apontadores.
III – Oracle 10g Herança.
SEQUENCE, PROCEDURE, FUNÇÃO, TRIGGER
Monitoria GDI Aula Prática
Desenvolvendo um script SQL
JDBC Java Database Connectivity. JDBC Especificação para uso de base de dados em aplicações e applets JAVA; API para uso de drivers JDBC; Compatível com.
Criação de Tabelas. CREATE TABLE nome_da_tabela ( >>. >> ) Ex.: SQL SERVER 2008 CREATE TABLE pessoa ( CPF VARCHAR(11) NOT NULL, NOME VARCHAR(100) NOT.
Conceitos básicos de SQL
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
SCC Bancos de Dados e Suas Aplicações
Ricardo Ferreira Schiavo
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
Banco de Dados I I Comandos SQL
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
III - Oracle9i Apontadores – Tipo de Dado (REF). Identificador de Objeto A todo objeto de uma “object table” é associado um OID (“Object IDentifier”)
Conceitos de SGBD Objeto-Relacional Oracle 10g [2] Monitoria GDI André Braga, Daniel Penaforte, Domingos Ribeiro, João Pascoal, Maria Carolina.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
 Introdução  Definindo Visões de Objeto  Usando Visões de Objeto  Atualizando Visões de Objeto.
III – Oracle 9i Herança. Pessoa EmpregadoEstudante Est. Parcial Pessoa_tab.
Orientação a objetos no ORACLE 9i Extensões para criar objetos complexos TADs (Tipos de Objetos) Tipo Referência (REF) Tipo Coleção Nested Tables (Tabelas.
III – Oracle 9i Herança. Pessoa EmpregadoEstudante Est. Parcial Pessoa_tab.
Tipos e Subtipos CREATE TYPE Pessoa_ty AS OBJECT ( cpf NUMBER, nome VARCHAR2(30), endereço VARCHAR2(100)) NOT FINAL; CRIANDO SUBTIPOS CREATE TYPE Estudante_ty.
Banco de Dados Relacional Objeto-
III – O Modelo OR Estudo de Caso, modelo Oracle9i.
Banco de Dados II Prof: Márcio Soussa Curso de Sistemas de Informação Faculdades Jorge Amado.
2/6/2016 José Antônio da Cunha - CEFET - RN1 Programação de Banco de Dados Funções.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Recursos de Programação
Prática O-R Fernando Fonseca.
Aula Prática Objeto-Relacional Monitoria GDI
Prática O-R Fernando Fonseca.
Transcrição da apresentação:

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

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

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;

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;

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)

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<Estrela>) /* 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 ...