Versão:
10g
Público:
Administradores de Banco de Dados; Analistas de Sistemas; Desenvolvedores de Aplicações; Profissionais de Suporte Técnico.
Pré-requisitos obrigatórios:
Introdução ao Oracle10g ( IOR )
Pré-requisitos recomendados:
Nenhum.
Objetivos:
Este curso apresenta aos participantes a linguagem PL/SQL, auxiliando-os a compreender as vantagens desta poderosa linguagem de programação. Durante as sessões de aula, os participantes aprendem a criar blocos de código de aplicações em PL/SQL que podem ser compartilhados por mùltiplas aplicações. Eles ainda aprendem a criar procedures, funções, packages e triggers de banco de dados., bem como utilizarão SQL*Plus , iSQL*Plus e SQL Developer para desenvolver estas unidades de programa. Aprenderão também a gerenciar unidades de programa em PL/SQL e triggers de banco de dados e dependências, a manipular grandes objetos e a utilizar alguns dos packages fornecidos pelo Oracle. Os conceitos fundamentais são reforçados por demonstrações e exercícios práticos.
Conteúdo programático
Introdução Objetivos Objetivos do Curso A Linguagem PL/SQL Sumário
Introdução ao PL/SQL Objetivos Visão Geral do PL/SQL Porque utilizar PL/SQL? Vantagens do PL/SQL Principais recursos do PL/SQL Bloco PL/SQL Estrutura do Bloco PL/SQL Unidades lexicais Identificadores Palavras Reservadas Delimitadores Literais Comentários Arquitetura do PL/SQL Oracle SQL Developer
Declarando Variáveis Objetivos Declarações de Variável Sintaxe de Declaração Inicialização de Variável Tipos PL/SQL Tipos Escalares Família Numérica NUMBER Família de Caractere VARCHAR2 CHAR Família RAW Família data/intervalo Família Rowid Família Booleana Família Confiável Tipos Compostos Tipos de Referências Tipos Lob Tipos de Objeto Utilizando %TYPE Subtipos Definidos Pelo Usuário Convertendo Tipos De Dados Conversão Explícita Conversão Implícita Escopo de Variável e Visibilidade
Trabalhando Expressões e Operadores Objetivos Expressões e Operadores Atribuição Expressões Expressões de Caracteres Expressões Booleanas
Controle de Estruturas PL/SQL e Registros Objetivos Estruturas de Controle IF-THEN-ELSE Condições NULL CASE CASE sem ELSE CASE Rotuladas CASE Pesquisadas LOOP LOOP Simples LOOP WHILE LOOP FOR Numéricos GOTO e Rótulos Restrições de GOTO Rotulando LOOP Diretrizes de GOTO NULO como Instrução PRAGMAS Registros PL/SQL Atribuição de Registros Utilizando %ROWTYPE
SQL e PL/SQL Objetivos Instruções SQL SQL e PL/SQL SQL Dinâmico DML no PL/SQL SELECT INSERT UPDATE DELETE Cláusula WHERE Nomes de Variáveis Cláusula RETURNING Referência de Tabelas Links de Banco de Dados Sinônimos Pseudocolunas CURRVAL e NEXTVAL LEVEL ROWID ROWNUM GRANT, REVOKE e Privilégios Privilégios de Objeto e Sistemas GRANT e REVOKE Controle de Transação COMMIT e ROLLBACK Pontos de Salvamento Transações Autônomas PRAGMA AUTONOMOUS_TRANSACTION
Cursores Objetivos Cursores Cursores Explícitos Declarando um Cursor Abrindo um Cursor Buscando um Cursor Fechando um Cursor Atributos de Cursor Cursores Parametrizados Cursores Implícitos LOOPs e Cursores LOOPs Simples LOOPs While LOOPs For SELECT FOR UPDATE WHERE CURRENT OF Variáveis de Cursor Declarando Variável de Cursor Variáveis Restritas e Irrestritas Abrindo uma Variável de Cursor Fechando uma Variável de Cursor Restrições para Variável de Cursor
Tratando Erros Objetivos Entendendo Exceções Declarando Exceções Exceções Definidas Pelo Usuário Exceções Predefinidas Levantando Exceções Tratando Exceções Tratando a Exceção OTHERS SQLCODE e SQLERRM Pragma EXCEPTION_UNIT RAISE_APPLICATION_ERROR Exceções na Seção Executável Exceções na Seção Declarativa Exceções na Seção de Exceções Escopo de Exceções Evitando Exceções Não Tratadas Mascarando a Localização do Erro Handler de Erros Genéricos
Utilizando Coleções Objetivos Coleções Tabelas Index-by Tabelas Aninhadas Varrays Declarando um Varray Inicializando um Varray Manipulando um Varray Coleções de Mùltiplos Níveis Varrays e Tabelas Aninhadas Tabelas Aninhadas e Tabelas Index-by Coleções no Banco de Dados Tipos nos níveis de esquema Manipulando Coleções INSERT UPDATE DELETE SELECT Métodos de Coleção EXISTS COUNT LIMIT FIRST e LAST NEXT e PRIOR
Procedures, Funções e Pacotes Objetivos Procedures e Funções Criando uma Procedure Corpo da Procedure Criando uma Função Sintaxe da Função RETURN Eliminando Procedures e Funções Parâmetros de Subprograms Passando Parâmetros Passando Parâmetros - Referência e Valor Subprogramas Sem Parâmetros Procedures VS Funções Pacotes Especificação do Pacote Corpo do Pacote Pacotes e Escopo Sobrecarregando subprogramas empacotados Inicialização do Pacote
Triggers Objetivos Triggers Tipos de Triggers Triggers de DML Triggers INSTEAD-OF Triggers de Sistema Criando Triggers Criando Triggers de DML Ordem de Disparo de um Trigger DML Cláusula WHEN Predicados de Triggers Criando Triggers INSTEAD-OF Criando Triggers de Sistema Triggers de Banco VS de Esquema Funções do Atributo de Evento Utilizando SERVERERROR Nomes de Triggers Restrições aos Triggers Corpo de Triggers Privilégios de Triggers Descartando e Desativando Triggers Tabelas Mutantes
Mais Conceitos Objetivos Dependências de Subprogramas Recompilação Automática Pacotes e Dependências Determinando Invalidações Modelo de Registro de Data/Hora Modelo de Assinatura Estado em Tempo de Execução do Pacote Pacotes Serialmente Reutilizáveis Dependências de Estado em Tempo de Execução Privilégio Execute Subprogramas Armazenados e Papéis Direitos do Chamador e Direitos do Definidor Papéis e Direitos do Chamador Fixando no Shared Pool KEEP UNKEEP SIZES ABORTED_REQUEST_THRESHOLD |