Curso de Oracle 12c: Fundamentals II - Linguagem PL/SQL

Duração: 24h | Porto Alegre/RS

Curso em ambiente digital

Neste curso de Oracle 12c Fundamentals II - Linguagem PL/SQL, o aluno irá focar nos benefícios trazidos pela poderosa linguagem de programação PL/SQL, aprendendo sobre procedures, funções, packages e database triggers.

Com a conclusão deste treinamento, o aluno estará apto a realizar uma série de tarefas essenciais, tanto para administradores de Banco de Dados (DBAs), quanto para desenvolvedores:

- Com a prática, possuirá o domínio da linguagem PL/SQL
- Criação de blocos PL/SQL anônimos, funções e procedures.
- Criação de triggers para solucionar desafios do negócio (Database DML Triggers)
- Interação com o Banco de Dados Oracle (comandos em SQL no PLSQL)
- Estruturas de controle (loops, control structures).
- Desenvolvendo e Utilizando Packages
- E muito mais! Não deixe de conferir o conteúdo programático para ver tudo que o curso oferece!

Obs: Este curso é baseado nos treinamentos oficiais da Oracle, mas possui material didático em português, revisados pelos instrutores TargetTrust, referências na área de DBA e Desenvolvimento Oracle.

- 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
- Gerenciar subprogramas e Dependências
- Criar, executar, e manter procedures, funções, packages e triggers
- E Muito mais! Este treinamento é aplicável a usuários Oracle 8i, 9i, 10g, 11g e Oracle 12c. Confira todo o conteúdo programático na aba de conteúdo

- Curso TargetTrust de Lógica de Programação ou conhecimento similar
- Curso TargetTrust de Oracle 12c: Fundamentals I - SQL e SQL*PLUS ou conhecimento similar

- Administradores de Banco de Dados
- Administradores de Dados
- Administradores de Sistema Operacional e Redes
- Analistas de Sistemas
- Arquitetos de Sistemas e Projetistas
- Desenvolvedores
- Gerentes de Informática
- Gerentes de Suporte
- Profissionais do Suporte Técnico
- Programadores
- Web Developers

1. Introdução ao PL/SQL
- Objetivos
- Linguagem PL/SQL
- Benefícios do PL/SQL
- Estrutura dos Blocos PL/SQL
- Blocos PL/SQL Anônimos
- 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

2. Construindo Blocos Anônimos e Definindo Identificadores
- Objetivos
- Estrutura de um Bloco PL/SQL
- Tipos de Programas
- Construções de Programas
- Utilização de Variáveis
- Unidades Léxicas
- Identificadores
- Literais
- Controlando Variáveis em PL/SQL
- Tipos de Variáveis
- Tipos de Dados Escalar - Scalar Datatypes
- Declarando Variáveis PL/SQL
- Regras de Nomenclatura
- Atribuindo Valores para Variáveis
- Utilizando Variáveis e Palavras Chaves
- Atributo %TYPE
- Declarando Variáveis BOOLEAN
- Tipos de Dados Compostos
- Variáveis com Tipos de Dados LOB
- Variáveis Tipo BIND
- Sintaxe e Diretrizes de um Bloco PL/SQL
- Comentando o Código
- Funções SQL em PL/SQL
- Conversão de Tipos de Dados
- Blocos Aninhados e Escopo de Variáveis
- Identificando blocos através de labels
- Operadores em PL/SQL
- Regras de Precedência
- Diretrizes de Programação
- Convenções de Nomenclatura
- Indentação de código
- Package DBMS_OUTPUT
- Determine o Escopo das Variáveis

3. Interagindo com o Banco de Dados Oracle
- Objetivos
- Comandos SQL em PL/SQL
- Recuperando Dados em PL/SQL
- Manipulando Dados Utilizando PL/SQL
- Comando INSERT, UPDATE e DELETE em PL/SQL
- Evitando Ambigüidade
- Comandos COMMIT e ROLLBACK
- Cursor SQL

4. Escrevendo Estruturas de Controle
- Objetivos
- Operadores e Regras de Precedência
- Tabelas Lógicas
- Condições Boleanas
- Controlando o Fluxo de Execução PL/SQL
- Comando IF
- Fluxo de Execução do Comando IF-THEN-ELSE
- Comandos IF-THEN-ELSE
- Condições Lógicas
- Nulos em Expressões e Comparações
- Comando CASE
- Controle de Repetições: Comandos de LOOP
- FOR LOOP
- WHILE LOOP
- LOOPs Aninhados e Labels

5. Tipos Compostos - Records e Collections
- Objetivos
- PL/SQL Records
- Referenciando e Inicializando Registros
- Atributo %ROWTYPE
- O que é uma Collection?
- Associative Arrays
- Nested Table
- Varrays
- Utilizando Métodos de Collections

6. Cursores Explícitos
- Objetivos
- Cursores
- Cursores Explícitos
- Contralando, Declarando e Abrindo o 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

7. Tratamento de Exceções
- Objetivos
- Tratando 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

8. Procedures de Banco de Dados
- Objetivos
- Criando Procedures de Banco de Dados
- Parâmetros
- Parâmetros tipo IN
- Parâmetros tipo OUT
- Parâmetros tipo IN OUT
- Métodos de passagem de Parâmetros
- Executando Procedures
- Removendo Procedures de Banco de Dados

9. Funções de Banco de Dados
- Objetivos
- 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

10. Gerenciando Subprogramas e Dependências
- Objetivos
- Gerenciando Procedures e Funções - Visão Geral
- Consultando o Código Fonte
- Consultando a Lista de Parâmetros
- Consultando Erros
- Gerenciando 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
- Tratamento Explícito de Dependências Remotas

11. Desenvolvendo e Utilizando Packages
- Objetivos
- O Que são Packages
- Desenvolvendo Packages - Visão Geral
- Criando Packages
- Procedimento de Única Execução
- Removendo Packages
- Referenciando Componentes de Packages
- Benefícios do Uso de Packages
- Gerenciando Dependências em Packages

12. Database DML Triggers
- Objetivos
- 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
- Cláusula Referencing
- Triggers INSTEAD OF
- Mutating Tables
- Resolvendo o problema de Mutating Tables
- Removendo uma Database DML Trigger
- Gerenciando Database Triggers
- Consultando o Código Fonte de Database Triggers

13. Package UTL_FILE
- Objetivo
- Package UTL_FILE
- Procedures e Funções da Package UTL_FILE
- Exceções da package UTL_FILE 5.
- Utilizando a Package UTL_FILE

Apêndice I - Package UTL_SMTP
- Package UTL_SMTP
- Procedures e Funções da Package UTL_SMTP
- Códigos de Retorno SMTP
- Utilizando a Package UTL_SMTP

Apêndice II - 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

Entre em contato