PL / SQL é uma extensão do SQL. SQL não é procedural. PL / SQL é uma linguagem procedural projetada pela oracle para superar as limitações que existem no SQL.
Verdadeiro.
Falso. PL / SQL tem todos os recursos de uma linguagem de programação estruturada, incluindo tipos de dados, variáveis, sub-rotinas, módulos e construções procedurais.
Linguagem estruturada em blocos.
Os procedimentos armazenados ajudam a um melhor compartilhamento do aplicativo.
Portátil para todos os ambientes que suportam Oracle.
Integração com o dicionário de dados Oracle.
- Procedimentos e funções armazenados
- Packages
- Triggers
- Cursors
- Variáveis e constantes
- Suporte a SQL embutido
- Controle de fluxo
- Gerenciamento de cursor
- Manipulação de exceção
- Procedimentos armazenados e pacotes
- Triggers
- Seção de declaração
- Seção de execução
- Seção de exceção
Uso de operador de atribuição incorreto. A sintaxe correta é: balance: = balance + 2000;
saudação: = 'Olá' || 'Mundo';
NÃO
OU
O sinal de dois pontos (:) indica que a variável: déficit é uma variável externa.
Ele atribui a uma variável o mesmo tipo de dados usado pela coluna, para a qual a variável é criada. Por exemplo,
dcode: = dept.detpno% type;
A variável dcode é criada com o mesmo tipo de dados da coluna deptno da tabela dept.
Ele declara uma variável composta que é equivalente à linha de uma tabela. Após a criação da variável, os campos da tabela podem ser acessados, utilizando o nome desta variável.
Por exemplo
emptype: = emp% rowtype;
nome: = emptype.empname;
Um pacote é um arquivo que agrupa funções, cursores, procedimentos armazenados e variáveis em um só lugar.
Um gatilho é um programa PL / SQL que é armazenado no banco de dados e executado imediatamente antes ou depois dos comandos INSERT, UPDATE e DELETE.
O Oracle usa espaços de trabalho para executar os comandos SQL. Ou seja, quando o Oracle processa um comando SQL, ele abre uma área da memória chamada Private SQL Area. Um cursor é um identificador para esta área. Ele permite aos programadores nomear esta área e acessar suas informações.
Verdadeiro.
Falso. A declaração BEGIN inicia a seção de execução.
Verdadeiro.
Falso. A PL / SQL não oferece suporte aos comandos de definição de dados como CREATE.
Ele retorna o número de linhas que são processadas por uma instrução SQL.
Ele retorna o valor booleano TRUE se pelo menos uma linha foi processada.
Ele retorna o valor booleano TRUE se nenhuma linha foi processada.
Comando LOOP, FOR .. Comando LOOP, comando WHILE.
Um gatilho é executado automaticamente sem qualquer ação exigida pelo usuário, enquanto um procedimento armazenado precisa ser chamado explicitamente.
Basicamente, os gatilhos são usados para criar consistências, restrições de acesso e implementar títulos no banco de dados. Gatilhos também são usados para -
Criação de mecanismos de validação envolvendo pesquisas em várias tabelas
Criação de logs para registrar o uso de uma mesa
Atualize outras tabelas como resultado da inclusão ou alterações na tabela atual.
Verdadeiro.
Falso. Quando um gatilho é associado a uma visão, os gatilhos da tabela base normalmente estão habilitados.
Verdadeiro.
Um gatilho não pode executar os comandos COMMIT, ROLLBACK ou SAVEPOINT.
Uma cláusula WHEN especifica a condição que deve ser verdadeira para que o gatilho seja disparado.
Verdadeiro.
O argumento opcional [OR REPLACE] em um comando CREATE TRIGGER recria um gatilho existente. Usar esta opção permite alterar a definição de um gatilho existente sem ter que excluí-lo primeiro.
Falso. INSTEAD OF é uma opção válida apenas para visualizações. O gatilho INSTEAD OF não pode ser especificado em uma tabela.
ALTER TRIGGER update_marks DISABLE;
Comando DROP TRIGGER.
Comando DROP PROCEDURE.
Uma função retorna um valor e um procedimento armazenado não retorna um valor.
As exceções definidas pelo usuário são declaradas na seção DECLARE, com a palavra-chave EXCEPTION. Sintaxe -
<exception_name> EXCEPTION;
Cursores explícitos são definidos explicitamente usando a instrução CURSOR, com uma sintaxe geral -
CURSOR cursor_name [(parâmetros)] IS query_expression;
Ele permite o processamento de consultas que retornam várias linhas.
As etapas que precisam ser executadas no cursor explícito são -
DECLARE − atribui um nome ao cursor e define a estrutura da consulta dentro dele.
OPEN − executa a consulta, em que as linhas retornadas pela consulta estão disponíveis para busca.
FETCH − atribui valores da linha atual (posição do cursor) em variáveis especificadas.
CLOSE − libera o espaço de memória.
Os pacotes PL / SQL têm duas partes -
Parte de especificação - onde a interface para o aplicativo é definida.
Parte do corpo - onde é definida a implementação da especificação.
O comando CREATE PACKAGE é usado para criar a parte da especificação. O comando CREATE PACKAGE BODY é usado para criar a parte do corpo.
Os tipos, objetos e subprogramas declarados dentro de um pacote são referidos usando a notação de ponto como -
package_name.type_name
package_name.object_name
package_name.subprogram_name
Verdadeiro.
O comando DROP PACKAGE.
O Oracle declara implicitamente um cursor para todos os comandos DDL e DML que retornam apenas uma linha. Para consultas que retornam várias linhas, um cursor explícito é criado.
Falso. O atributo% NOTFOUND retorna verdadeiro quando a última linha do cursor é processada e nenhuma outra linha está disponível.
Verdadeiro.