|
Curso Oracle SQL e PL/SQL
Parte 1 – O comando Select
Apresentação do modelo de dados criado para o curso.
Breve histórico da linguagem SQL e da Teoria Relacional.
Datatypes existentes no Oracle e sua utilização. Char,
Varchar2, Number, Date, Blob, Clob, Long e Rowid. Conjunto de caracteres
nacionais. Nchar e Nvarchar. Startup e Shutdown. SQL*Plus, CONNECT,
DISCONNECT. Arquitetura Client/Server. Conceitos de tabela, linha
e coluna. Exibindo todas as colunas de uma tabela. Comando DESCRIBE.
Conceito de dicionário de dados. Comando CREATE TABLE. Selecionando
colunas de uma tabela. Cláusula WHERE. Cláusula DISTINCT.
Laboratório
Parte 2 – Ordenando o resultado
Conceito de tabela resultado. Cláusula ORDER BY. Ordenando
por várias colunas. Utilizando o número de ordem da
coluna. Cláusula DESC. Ordenando por uma coluna não
exibida. Laboratório
Parte 3 – Operadores booleanos
Conector AND. Conector OR. Hierarquia dos operadores. Alteração
da hierarquia através do uso de parênteses. Uso do
operador NOT. Hierarquia com uso do operador NOT. Palavra chave
IN. Palavra chave BETWEEN. Laboratório
Parte 4 – Recuperação de strings
Operardor LIKE. Uso dos caracteres %(percentual) e _(underscore).
Laboratório
Parte 5 – Expressões aritméticas
Operadores aritméticos na linguagem SQL. Formação
de expressões. Hierarquia dos operadores. Alias de colunas.
Laboratório
Parte 6 – Funções built-in
Conceito de função built-in. Funções
escalares e de grupo. Funções AVG, MAX, MIN e COUNT.
Uso do COUNT DISTINCT. Função SUM. Cláusula
GROUP BY. Agrupando por mais de uma coluna. Cláusula HAVING.
Formato geral do comando SELECT. Laboratório
Parte 7 – Funções escalares
Funções numéricas, de caracteres, de data e
conversão. Funções ABS, CEIL,
FLOOR. Função MOD. Conceito de tabela DUAL. Uso da
tabela nos cálculos aritméticos. Funções
SYSDATE e USER. Função ROUND. Arredondamento para
inteiro e com casas decimais. Funções SQRT e SIGN.
Função TRUNC. Funções de caracteres.
A concatenação de strings. Função CONCAT.
Funções INSTR, SUBSTR, LPAD, RPAD, LTRIM, RTRIM e
LENGTH. Funções de data. Funções ROUND
e TRUNC aplicadas às datas. Funções ADD_MONTHS,
LAST_DAY, MONTHS_BETWEEN e NEXT_DAY. Função DECODE.
Laboratório
Parte 8 – Insert, Delete e Update
O comando INSERT. Tipos de comando INSERT. O comando UPDATE. Atualizando
mais de uma coluna no comando UPDATE. Formato geral do comando UPDATE.
O comando DELETE. Formato geral do comando DELETE. O conceito de
transação. Comandos COMMIT, ROLLBACK. Conceito de
savepoint. Comando SAVEPOINT. O mecanismo de bloqueio automático
(LOCK). Laboratório
Parte 9 – O tratamento do nullvalue na linguagem
SQL
O conceito de nullvalue. Como o nullvalue pode alterar o resultado
do comando
SELECT. Cálculos com nullvalue. Comportamento das funções
de grupo diante do nullvalue. Comparações envolvendo
nullvalue. Ordenando nullvalue. Laboratório
Parte 10 – Operação de join
O conceito de join. Tipos de join. Equijoin, Non equijoin, Outer
join e Auto join.
Produto cartesiano. Alias de tabelas. O operador especial (+). Nullvalue
na coluna de join. Join com 3 tabelas. Múltiplas condições
de join. Laboratório
Parte 11 – Sinônimos
O conceito de sinônimo. Como criar um sinônimo. Comandos
CREATE e DROP SYNONYM. Laboratório
Parte 12 – Subqueries
O que é uma subquery. Formato geral de uma subquery. Subquery
multicolunas. Subquery multilinhas. Correlated subquery. Operadores
EXISTS e NOT EXISTS. Comandos INSERT, UPDATE e DELETE com subquery.
DELETE com correlated subquery. Laboratório
Parte 13 – Operações de conjunto
Operadores UNION, INTERSECT, MINUS. Operador UNION ALL. Laboratório
Parte 14 – Views
O conceito de View. Comando CREATE VIEW. Como funciona uma view.
View de mais de uma tabela. Cláusula UNION na montagem de
uma view. Operações de UPDATE e INSERT através
de uma view. O uso de join na formação de views. Cláusulas
WITH CHECK OPTION e WITH READ ONLY. Laboratório
|
Curso
Oracle SQL e PL/SQL (continuação)
Parte 15 – Queries hierárquicas
O conceito de query hierárquica. Auto-relacionamento em tabelas.
Cláusulas
CONNECT BY, START WITH e PRIOR. Laboratório
Parte 16 – Atribuição de privilégios
O conceito de privilégio. Os tipos de privilégio.
Privilégio de sistema e de objeto. O comando GRANT. Os privilégios
de objeto existentes. O comando REVOKE. O uso de sinônimos
associados aos privilégios de objeto. Laboratório
Parte 17 – Fundamentos da Linguagem PL/SQL
Introdução à linguagem PL/SQL. PL/SQL engine.
PL/SQL na arquitetura
Client/Server. Formação de data names. Estrutura da
linguagem. DECLARATION SECTION. EXECUTABLE SECTION. EXCEPTION SECTION.
Tipos de variáveis existentes no PL/SQL. Declarando uma variável.
Incluindo um comentário no programa. Escopo e visibilidade
de uma variável. Laboratório
Parte 18 – Estruturas de controle
Comando de atribuição. Concatenação
de strings. Exibindo conteúdo de variáveis. Utilizando
DBMS_OUTPUT. Expressões aritméticas. Comandos IF-THEN_ELSE,
IFELSIF, GOTO e NULL. Expressões lógicas e operadores
de comparação. O loop simples. Comandos EXIT e EXIT
WHEN. O loop FOR. O loop WHILE. Tratamento do nullvalue no PL/SQL.
Laboratório
Parte 19 – Functions e Procedures
Conceitos básicos de uma função. A chamada
de uma função. Formato geral de uma stored function.
Sintaxe para a criação de uma stored function. Exemplo
de uma stored function. Executando uma stored function. Conceitos
básicos de uma procedure. Formato geral de uma stored procedure.
Sintaxe para a criação de uma stored procedure. O
comando SHOW ERRORS. A passagem de parâmetros. Tipos de parâmetros.
IN, OUT, IN OUT. Parâmetros default. Passagem de parâmetros
posicional, nomeada e combinada. Exemplo de uma stored procedure.
Executando uma stored procedure. Obtendo informação
sobre functions e procedures. Laboratório
Parte 20 – Trabalhando com cursores
O conceito de cursor. A lógica de utilização
de um cursor. Declarar, abrir, ler e
fechar. O uso do cursor no processamento sequencial. A sintaxe para
declaração de um cursor. Declaração
de um registro. O atributo %ROWTYPE. Comandos OPEN, FETCH e CLOSE.
Os atributos %ROWCOUNT, %NOTFOUND, %ISOPEN. O processamento de um
cursor em loop explícito e implícito. Cláusula
FOR UPDATE. Passagem de parâmetros para um cursor. Variáveis
do tipo cursor. Laboratório.
Parte 21 – Tratamento de erros no PL/SQL
Conceito de exception. Exceptions pré-definidas NO_DATA_FOUND,
TOO_MANY_ROWS, VALUE_ERROR, CURSOR_ALREADY_OPEN. Comportamento do
PL/SQL diante da ocorrência de uma exception. Formato geral
de uma exception section. Cláusula WHEN OTHERS. Declaração
de uma exception pelo usuário. Declarativo PRAGMA_EXCEPTION_INIT.
Comando RAISE. As funções SQLCODE e SQLERRM. O comando
RAISE_APPLICATION_ERROR. Laboratório.
Parte 22 – Triggers
Conceito de trigger. Usos de um trigger. Usando um trigger para
garantir a
integridade dos dados. Usando um trigger para automatizar cálculos
na base.
Gravação de trilhas de auditoria. Sintaxe para a criação
de um trigger. Trigger de tabela e trigger de linha. Cláusulas
BEFORE e AFTER. Cláusula WHEN. Cláusula FOR EACH ROW.
Evento de disparo de um trigger. Cláusulas BEFORE e AFTER.
Valores :NEW e :OLD. Cláusulas DELETING, UPDATING, INSERTING.
Restrições no uso de triggers. O erro de “mutating
tables”. Ordem de execução dos triggers. Habilitando
e desabilitando triggers. Eliminando um trigger. Obtendo informações
sobre triggers. Laboratório.
Parte 23 – Packages
Conceito de package. Sintaxe para a criação de um
package. Package Specification e package body. Package público
e privado. Criando e executando um package. Exemplo de um package.
Utilizando um package para inicializações. Executando
um package. Eliminando um package. O uso de packages para criação
de variáveis públicas. Recuperando informações
sobre packages. Laboratório.
Parte 24 – Tópicos avançados em PL/SQL
A implementação de tabelas em memória no PL/SQL.
Privilégios na execução de procedures e functions.
O conceito de transação autonôma. Uso de transações
autonômas no PL/SQL. O conceito de dependência procedural.
|