You are on page 1of 21

Curso: Fundamentals II – Linguagem PL/SQL

Curso Oracle 11g Fundamentals II - Linguagem PL/SQL, Procedures, Funções,


Packages e Database Triggers.
Fundamentals II – Linguagem PL/SQL
Duração: 24 Horas
Curso Oracle 11g Fundamentals II - Linguagem PL/SQL, Procedures, Funções,
Packages e Database Triggers

Objetivos
•Descrever as características e a sintaxe da linguagem PL/SQL
•Controlar o fluxo de código condicionalmente (loops, estruturas de controle e
cursores explícitos)
•Administrar erros de momento de execução
•Criar, executar, e manter procedures, funções, packages e triggers
•Este treinamento é aplicável a usuários Oracle 8i, Oracle 9i e Oracle 10g

Pré-Requisitos
•Noções de Sistemas Operacionais
•Conhecimentos de Lógica de Programação (curso T@rgetTrust Lógica de
Progamação)
•Conhecimento em SQL (Curso Oracle 10g/11g - Fundamentos I T@rgetTrust)
Fundamentals II – Linguagem PL/SQL
Público Alvo
• Administradores de Banco de Dados
•Administradores de Dados
•Administradores de Sistema Operacional e Redes
•Analistas de Sistemas
•Arquitetos de Sistemas e Projetistas
•Desenvolvedores de Aplicações
•Gerentes de Informática
•Gerentes de Suporte
•Profissionais do Suporte Técnico
•Programadores
•Web Developers
Fundamentals II – Linguagem PL/SQL
Conteúdo
1.Introdução ao PL/SQL
•Objetivos
•Linguagem PL/SQL
•Ambiente PL/SQL
•Benefícios do PL/SQL
•Estrutura dos Blocos PL/SQL
•Desenvolvendo utilizando PL/SQL
•Blocos PL/SQL Anônimos
•Blocos PL/SQL Nomeados: Subprogramas
•Vantagens do Uso de Procedimentos e Funções
•Diferenças entre Subprogramas de Banco de Dados e Subprogramas de Aplicação
•Conectando com o SQL*Plus
•Conectando com o SQLDeveloper
•Utilizando o SQLDeveloper
•Criando Procedimentos e Funções de Banco de Dados
•Executando Subprogramas
Fundamentals II – Linguagem PL/SQL
Conteúdo
2. Construindo Blocos Anônimos e Definindo Identificadores

•Estrutura de um Bloco PL/SQL •Declarando Variáveis BOOLEAN


•Tipos de Programas •Tipos de Dados Compostos
•Construções de Programas •Variáveis com Tipos de Dados LOB
•Utilização de Variáveis •Variáveis Tipo BIND
•Unidades Léxicas •Referenciando Variáveis Bind
•Identificadores •Sintaxe e Diretrizes de um Bloco PL/SQL
•Literais •Comentando o Código
•Controlando Variáveis em PL/SQL •Funções SQL em PL/SQL
•Tipos de Variáveis •Conversão de Tipos de Dados
•Tipos de Dados Escalar - Scalar •Blocos Aninhados e Escopo de Variáveis
Datatypes •Identificando blocos através de labels
•Declarando Variáveis PL/SQL •Operadores em PL/SQL
•Regras de Nomenclatura •Regras de Precedência
•Atribuindo Valores para Variáveis •Diretrizes de Programação
•Utilizando Variáveis e Palavras Chaves •Convenções de Nomenclatura
•Atributo %TYPE •Indentação de código
•Declarando Variáveis com o Atributo •Package DBMS_OUTPUT
%TYPE •Determine o Escopo das Variáveis
Fundamentals II – Linguagem PL/SQL
Conteúdo
3. Interagindo com o Banco de Dados Oracle
•Comandos SQL em PL/SQL
•Comando SELECT em PL/SQL
•Recuperando Dados em PL/SQL
•Manipulando Dados Utilizando PL/SQL
•Comando INSERT em PL/SQL
•Comando Update em PL/SQL
•Comando DELETE em PL/SQL
•Evitando Ambigüidade
•Comandos COMMIT e ROLLBACK
•Cursor SQL
•Atributos do Cursor SQL
Fundamentals II – Linguagem PL/SQL
Conteúdo
4. Escrevendo Estruturas de Controle
•Operadores em PL/SQL
•Regras de Precedência em PL/SQL
•Tabelas Lógicas
•Condições Boleanas
•Controlando o Fluxo de Execução PL/SQL
•Comando IF
•Comandos IF Simples
•Fluxo de Execução do Comando IF-THEN-ELSE
•Comandos IF-THEN-ELSE
•Fluxo de Execução do Comando IF-THEN-ELSIF
•Condições Lógicas
•Nulos em Expressões e Comparações
•Comando CASE
•Controle de Repetições: Comandos de LOOP
•LOOP Básico
•FOR LOOP
•WHILE LOOP
•LOOPs Aninhados e Labels
Fundamentals II – Linguagem PL/SQL
Conteúdo
5. Tipos Compostos - Records e Collections
•PL/SQL Records
•Criando um PL/SQL Record
•Referenciando e Inicializando Registros
•Atributo %ROWTYPE
•Vantagens da Utilização de %ROWTYPE
•O que é uma Collection?
•Associative Arrays
•Criando um Associative Array
•Estrutura de um Associative Array
•Utilizando um Associative Array
•Associative Array de Registros
•Nested Table
•Criando uma Nested Table
•Utilizando Nested Tables
•Varrays
•Criando um Varray
•Utilizando Varrays
•Utilizando Métodos de Collections
•Exemplo de utilização dos métodos de Collections
Fundamentals II – Linguagem PL/SQL
Conteúdo
6. Cursores Explícitos
•Cursores
•Cursores Explícitos
•Controlando Cursores Explícitos
•Contralando o cursor
•Declarando o Cursor
•Abrindo um Cursor
•Recuperando linhas do Cursor
•Fechando um Cursor
•Atributos de Cursores Explícitos
•Controlando Múltiplos FETCHs
•Atributo %ISOPEN
•Atributos %NOTFOUND e %ROWCOUNT
•Cursores e Variáveis records
•Cursor FOR LOOP
•Cursor FOR LOOP Utilizando Subconsultas
•Cursores com Parâmetros
•Cláusula FOR UPDATE
•Cláusula WHERE CURRENT OF
Fundamentals II – Linguagem PL/SQL
Conteúdo
7. Tratamento de Exceções
•Tratando Exceções
•Diretrizes para o Tratamento de Exceções
•Tratando Erros Pré-Definidos do Servidor Oracle
•Interrupções de Programa
•SQLCODE e SQLERRM
•Exceções Definidas pelo Desenvolvedor
•Tratamento de Erros Oracle utilizando Pragma
Fundamentals II – Linguagem PL/SQL
Conteúdo
8. Procedures de Banco de Dados
•Criando Procedures de Banco de Dados
•Parâmetros
•Parâmetros tipo IN
•Parâmetros tipo OUT
•Parâmetros tipo IN OUT
•Parâmetros OUT e IN OUT por referência
•Métodos de passagem de Parâmetros
•Executando Procedures
•Removendo Procedures de Banco de Dados
Fundamentals II – Linguagem PL/SQL
Conteúdo
9. Funções de Banco de Dados
•Criando Funções de Banco de Dados
•Utilizando Funções em comandos SQL
•Utilizando Parâmetros em Funções
•Executando Funções
•Removendo Funções de Banco de Dados
•Comparando Procedures X Funções
Fundamentals II – Linguagem PL/SQL
Conteúdo
10. Gerenciando Subprogramas e Dependências
•Gerenciando Procedures e Funções - Visão Geral
•Consultando o Código Fonte
•Consultando a Lista de Parâmetros
•Consultando Erros
•Gerenciando Dependências
•Tipos de Dependências
•Tratamento de Dependências Locais Diretas
•Tratamento de Dependências Locais Indiretas
•Re-compilando Procedures e Funções
•Exemplos de Compilações de Procedimentos e Funções
•Verificando o Status de Procedimentos e Funções
•Re-compilando automática de Procedures e Funções
•Tratamento Explícito de Dependências Remotas
Fundamentals II – Linguagem PL/SQL
Conteúdo
11. Desenvolvendo e Utilizando Packages
•O Que são Packages
•Desenvolvendo Packages - Visão Geral
•Criando Packages de Banco de Dados
•Criando o Package Specification
•Criando o Package Body
•Procedimento de Única Execução
•Removendo Packages
•Removendo o Package Body
•Referenciando Componentes de Packages
•Benefícios do Uso de Packages
•Gerenciando Dependências em Packages
Fundamentals II – Linguagem PL/SQL
Conteúdo
12. Database DML Triggers
•Database DML Triggers - Visão Geral
•Criando Database DML Triggers
•DML Triggers em Nível de Linha e em Nível de Comando
•Sequência de disparo das Triggers
•Criando uma Trigger em Nível de Comando
•Criando uma Trigger Combinando Vários Eventos
•Triggers em Nível de Linha
•Criando Triggers em Nível de Linha
•Triggers INSTEAD OF
•Mutating Tables
•Regras para Uso de Triggers - Mutanting Tables
•Resolvendo o problema de Mutating Tables
•Habilitando e Desabilitando Database DML Triggers
•Removendo uma Database DML Trigger
•Gerenciando Database Triggers
•Consultando o Código Fonte de Database Triggers
Fundamentals II – Linguagem PL/SQL
Conteúdo
13. Package UTL_FILE
•Package UTL_FILE
•Procedures e Funções da Package UTL_FILE
•Exceções da package UTL_FILE
•Utilizando a Package UTL_FILE
Fundamentals II – Linguagem PL/SQL
Conteúdo
14. Package UTL_SMTP
•Package UTL_SMTP
•Procedures e Funções da Package UTL_SMTP
•Códigos de Retorno SMTP
•Utilizando a Package UTL_SMTP
Fundamentals II – Linguagem PL/SQL
Conteúdo
15. Apêndice - Soluções dos Exercícios

16. Anexo 1 - Manipulando Objetos Grandes (LOB)


•Tipos de Objetos Grandes (Large Objects - LOB)
•Características Gerais de Campos LOB
•Criando uma Tabela com Campos LOB
•LOBs Internos
•LOBs Externos
•O Alias de Diretório
•Comparação entre Tipos de Dados LOB e LONG
•Trabalhando com LOBs Utilizando SQL
•Trabalhando com LOBs Utilizando PL/SQL:Package DBMS_LOB
•Rotinas da Package DBMS_LOB
•Tipos de Dados da Package DBMS_LOB
•Manipulando LOBs
•Armazenando Arquivos Binários no Banco de Dados
•Removendo LOBs
•Enviando e-mail com conteúdo anexo
Tecnologias e Cursos

Testes de Software
PHP Rails
Metodologias Ágeis
.Net Linux
Análise de Sistemas
Java Oracle
Requisitos de Software
Adobe Flex Web 2.0
Gestão de Projetos PMI/PMP
Web Design C e C++
Gestão de Serviços ITIL V3
Design Gráfico PostgreSQL
Gestão Estratégica com BSC

You might also like