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.