PL/SQL Flashcards

(43 cards)

1
Q

O que é PL/SQL e qual a sua relação com o SQL?

A

PL/SQL (Procedural Language SQL) é uma extensão procedural da linguagem SQL, desenvolvida pela Oracle. Ela permite a criação de programas completos dentro do ambiente Oracle, combinando a manipulação de dados do SQL com recursos de programação como loops e condicionais.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais as vantagens de usar PL/SQL em vez de SQL puro?

A

PL/SQL oferece maior poder e flexibilidade ao SQL, permitindo a criação de programas estruturados com controle de fluxo, tratamento de exceções e orientação a objetos. Além disso, a execução dentro do próprio banco de dados Oracle torna as aplicações mais eficientes e confiáveis, especialmente ao manipular grandes volumes de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais são as principais diferenças entre SQL e PL/SQL?

A

SQL é uma linguagem declarativa padrão ANSI, utilizada para recuperar e manipular dados em diversos bancos de dados relacionais. PL/SQL, por outro lado, é uma linguagem imperativa proprietária da Oracle, que estende o SQL com recursos de programação, permitindo a criação de programas completos dentro do ambiente Oracle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O PL/SQL é uma linguagem padrão?

A

Não, o PL/SQL não é uma linguagem padrão. É uma tecnologia exclusiva da Oracle, uma linguagem proprietária que só pode ser utilizada dentro de ferramentas da Oracle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais os benefícios de usar PL/SQL em termos de desempenho e confiabilidade?

A

PL/SQL oferece melhor desempenho por ser executado dentro do próprio Oracle, evitando o tráfego de dados para fora do banco. Além disso, a integração com o SQL e o ambiente controlado do Oracle tornam o PL/SQL mais confiável, reduzindo a ocorrência de bugs e comportamentos inesperados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Desde quando o PL/SQL existe e como ele evoluiu?

A

O PL/SQL foi lançado pela primeira vez na versão 6.0 do Oracle, em 1991, e desde então tem recebido melhorias e novas funcionalidades em cada nova versão do banco de dados Oracle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quais são alguns exemplos de comandos SQL que podem ser usados dentro de um programa PL/SQL?

A

Dentro de um programa PL/SQL, você pode usar comandos SQL como INSERT, UPDATE, DELETE, SELECT e CREATE para manipular dados e objetos do banco de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Por que o PL/SQL é considerado mais durável do que outras linguagens em relação à manutenção e atualizações do sistema?

A

Códigos escritos em PL/SQL tendem a ser mais duráveis porque não exigem muita manutenção, mesmo quando a versão do Oracle é atualizada ou o ambiente é alterado. Isso ocorre porque o PL/SQL é executado dentro do próprio Oracle, o que o torna independente do sistema operacional e de outras dependências externas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que significa dizer que o SQL é uma linguagem declarativa?

A

Significa que, em SQL, você especifica o que você quer obter, e não como obter. Você declara o resultado desejado, e o banco de dados determina a melhor maneira de executar a consulta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O PL/SQL pode ser usado em outros bancos de dados além do Oracle?

A

Não, o PL/SQL é uma linguagem proprietária da Oracle e só pode ser usada em bancos de dados Oracle e outras ferramentas da Oracle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quais são as três palavras-chave que formam a estrutura básica de um programa PL/SQL?

A

DECLARE, BEGIN e END.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual a finalidade da seção DECLARE em um programa PL/SQL?

A

Definir os componentes de trabalho, como variáveis, constantes e outros tipos de estruturas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que acontece na seção BEGIN de um programa PL/SQL?

A

Manipulação dos componentes de trabalho declarados, utilizando um fluxo lógico de programação e comandos SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qual a função do comando dbms_output.put_line()?

A

Exibe o conteúdo de uma variável ou texto na área de saída do PL/SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Por que é necessário usar o comando SET SERVEROUTPUT ON; antes de executar um programa PL/SQL que utiliza dbms_output.put_line()?

A

Para habilitar o Oracle a escrever na área de saída, permitindo que os resultados do dbms_output.put_line() sejam exibidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qual a sintaxe para declarar uma variável chamada nome_aluno do tipo VARCHAR2 com tamanho máximo de 100 caracteres?

A

nome_aluno VARCHAR2(100);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Como declarar uma constante chamada PI com o valor de 3.14159?

A

PI CONSTANT NUMBER := 3.14159;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Dentro do bloco BEGIN, como você atribuiria o valor ‘João’ à variável nome_aluno declarada anteriormente?

A

nome_aluno := ‘João’;

19
Q

Como você usaria dbms_output.put_line() para exibir o valor da variável nome_aluno dentro do bloco BEGIN?

A

dbms_output.put_line(nome_aluno);

20
Q

Qual a função do ponto e vírgula (;) após a palavra-chave END em um bloco PL/SQL?

A

Indica o fim do bloco PL/SQL e é obrigatório para a execução correta do código.

21
Q

Qual o propósito do comando SET SERVEROUTPUT ON no SQL*Plus ou SQL Developer?

A

Habilitar a exibição de saída do DBMS_OUTPUT no console.

22
Q

O que acontece se você executar um bloco PL/SQL com DBMS_OUTPUT.PUT_LINE sem antes executar SET SERVEROUTPUT ON?

A

O bloco PL/SQL será executado, mas a saída do DBMS_OUTPUT.PUT_LINE não será exibida no console.

23
Q

SET SERVEROUTPUT ON SIZE 1000000 é um comando válido? Se sim, qual o seu efeito?

A

Sim, é válido. Define o tamanho máximo do buffer para a saída do DBMS_OUTPUT para 1000000 bytes.

24
Q

O comando SET SERVEROUTPUT ON precisa ser executado apenas uma vez por sessão?

A

Geralmente sim, a menos que a configuração seja desativada ou a sessão seja encerrada.

25
Em quais situações você usaria o comando SET SERVEROUTPUT ON?
Quando você precisa ver a saída de comandos DBMS_OUTPUT.PUT_LINE para depurar ou monitorar a execução de seus blocos PL/SQL.
26
Qual é a função do comando dbms_output.put_line em PL/SQL?
Exibir uma mensagem ou o valor de uma variável na área de saída (console) do ambiente de desenvolvimento.
27
Qual é a sintaxe básica para usar dbms_output.put_line para exibir a mensagem "Olá, mundo!"?
dbms_output.put_line('Olá, mundo!');
28
Como você usaria dbms_output.put_line para exibir o valor de uma variável numérica chamada contador?
dbms_output.put_line(contador);
29
O que acontece se você tentar usar dbms_output.put_line para exibir uma variável que não foi declarada?
O compilador PL/SQL irá gerar um erro de compilação, indicando que a variável não foi declarada.
30
É possível concatenar strings e variáveis ao usar dbms_output.put_line? Se sim, como?
Sim, é possível. Use o operador de concatenação ||. Exemplo: dbms_output.put_line('O valor é: ' || minha_variavel);
31
Este bloco PL/SQL declara uma variável chamada mensagem e a inicializa com o valor "Olá, mundo!". Em seguida, exibe o valor da variável na saída.
32
Este bloco declara duas variáveis numéricas (numero1 e numero2), calcula a soma delas e armazena o resultado na variável soma. Por fim, exibe o resultado da soma.
33
Como atribuir o valor 'João da Silva' à variável v_nome declarada anteriormente?
34
Como exibir o valor da variável v_nome na saída do SQL Developer?
35
Como exibir a frase "Olá, mundo!" na saída do SQL Developer?
BEGIN DBMS_OUTPUT.PUT_LINE('Olá, mundo!'); END;
36
Como exibir o valor de uma variável numérica chamada v_idade na saída?
37
Como exibir o resultado de uma operação matemática (por exemplo, 5 + 3) na saída?
BEGIN DBMS_OUTPUT.PUT_LINE('O resultado é: ' || (5 + 3)); END;
38
O que acontece se eu tentar usar DBMS_OUTPUT.PUT_LINE sem ativar o SERVEROUTPUT?
A mensagem não será exibida na saída. É necessário executar SET SERVEROUTPUT ON; antes de usar o comando.
39
Tenho o seguinte código PL/SQL: BEGIN DBMS_OUTPUT.PUT_LINE('Testando o SERVEROUTPUT'); END; Executo esse código no SQL Developer, mas nada aparece na aba de saída. O que devo fazer?
Execute o comando SET SERVEROUTPUT ON; antes de rodar o código PL/SQL.
40
Qual a diferença entre executar SET SERVEROUTPUT ON; e SET SERVEROUTPUT OFF;?
SET SERVEROUTPUT ON; permite que as mensagens enviadas por DBMS_OUTPUT.PUT_LINE sejam exibidas na aba de saída. SET SERVEROUTPUT OFF; impede que essas mensagens sejam exibidas.
41
Executei o seguinte código: As duas mensagens serão exibidas?
Sim, ambas as mensagens serão exibidas, pois o SERVEROUTPUT foi ativado antes da execução dos blocos PL/SQL.
42
Executei o seguinte código: As duas mensagens serão exibidas?
Apenas "Mensagem 2" será exibida. O SERVEROUTPUT precisa estar ativado antes da execução do bloco PL/SQL que contém o DBMS_OUTPUT.PUT_LINE.
43
Como posso verificar se o SERVEROUTPUT está ativado na minha sessão atual do SQL Developer?
Não há um comando direto para verificar o status do SERVEROUTPUT. A maneira mais fácil é tentar executar um bloco PL/SQL simples com DBMS_OUTPUT.PUT_LINE e ver se a mensagem aparece na saída. Se não aparecer, o SERVEROUTPUT está desativado.