Questões de Concurso sobre PL/SQL

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
204 questões encontradas
Questões por página
20
Mais recentes
 

Qual a sintaxe para criar um procedimento em PL/SQL?


A

CREATE PROCEDURE

nome_procedimento


B

CREATE PROCEDIMENTO

nome_procedimento


C

CREATE FUNCTION

nome_procedimento


D

CREATE PROCEDURE nome_function


E

CREATE FUNCTION nome_function

Considere os comandos SQL abaixo.


I. INSERT INTO Advogado (numeroOABAdv, nomeAdv) VALUES ('59.445', 'Paulo Vieira Lima');

II. INSERT INTO Advogado VALUES ('28E418', 'Ana Maria Fonseca');

III. INSERT INTO Advogado ('21X400', 'Marcos Moreira Costa');

IV. INSERT INTO Advogado FIELDS(numeroOABAdv, nomeAdv) VALUES ('01.342', 'Mariana Freitas Caetano');


Os comandos que inserem corretamente dados na tabela Advogado são os que constam APENAS em


A

I e II.


B

I, II e III.


C

I e IV.


D

II e III.


E

III e IV.

Assinale a alternativa que apresenta uma forma adequada, na linguagem PL/pgSQL, de selecionar dados do banco de dados e atribuí-los a uma variável.


A

take count(*) as qtd_filmes from filme;


B

select count(*) set qtd_filmes from filme;


C

select count(*) into qtd_filmes from filme;


D

set count(*) to qtd_filmes from filme;


E

set qtd_filmes = count(*) from filme;

Considerando as procedures e functions na linguagem PL/SQL, analise as afirmações a seguir:


I-Tanto functions como procedures podem retornar um valor ou não.

II-Os parâmetros podem ser do tipo "IN", "OUT" ou "IN OUT". Sendo que casa não informado o valor padrão é "IN".

III-Ao se chamar a procedure "proc" com um único parâmetro do tipo IN, a chamada "proc(var)" nunca vai alterar o valor da variável "var" externamente.


É correto o que se afirma em:


A

II, apenas.


B

I, apenas.


C

II e III, apenas.


D

III, apenas.


E

I, II e III.

Considere a linguagem PL/SQL utilizada no Sistema Gerenciador de Bancos de Dados Oracle 21c. Suponha que tenha sido criada uma variável cuja declaração limite seu tamanho a 3 caracteres. Se houver a tentativa de atribuir um valor com mais de 3 caracteres a essa variável, ocorrerá


A

a geração de uma mensagem de aviso para que o usuário redefina o valor a ser atribuído.


B

a geração de uma mensagem de erro.


C

a inserção do valor Null, em lugar do valor com mais de 3 caracteres.


D

um aumento automático desse tamanho máximo, acompanhado de uma mensagem de aviso.


E

um corte do número de caracteres desse valor, até atingir 3 caracteres.

Analise as seguintes afirmativas em relação aos diversos tipos de Banco de Dados:


1. MongoDB é um banco de dados NoSQL que usa documentos em vez de tabelas para armazenar dados.

2. o PostgreSQL é o único banco de dados que não suporta as cláusulas do SQL padrão e usa uma sintaxe proprietária.

3. MySQL é um dos sistemas de gerenciamento de banco de dados relacional que é de código aberto.

4. o PL/SQL é uma extensão da linguagem SQL criada especificamente para ser usada no Oracle.


Da relação apresentada:


A

somente as afirmativas 1, 2 e 3 são verdadeiras


B

somente as afirmativas 1, 2 e 4 são verdadeiras


C

somente as afirmativas 2, 3 e 4 são verdadeiras


D

somente as afirmativas 1, 3 e 4 são verdadeiras

Considere a expressão PL/SQL de um banco de dados Oracle 19 aberto e funcionando em condições ideais:


CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END


A função equivalente a essa expressão é:


A

COALESCE(expr1, expr2)


B

CHR(expr1, expr2)


C

COMPOSE(expr1, expr2)


D

COLLATION(expr1, expr2)


E

COLLECT(expr1, expr2)

Considere a seguinte tabela de um banco de dados relacional:


Produto (ID_Prod, Nome, Estoque)


Considere que previamente foi criada uma variável denominada item, do tipo caractere, assim como o atributo Nome. O comando do PL/SQL para atribuir a essa variável o nome do produto de ID igual a 200 é:


A

item = SELECT Nome

FROM Produto

WHERE ID_Prod = 200;


B

MAKE item AS SELECT Nome

FROM Produto

WHERE ID_Prod = 200;


C

SELECT Nome INTO item

FROM Produto

WHERE ID_Prod = 200;


D

MAKE Nome INTO item

FROM Produto

WHERE ID_Prod = 200;


E

INCLUDE IN item Nome

FROM Produto

WHERE ID_Prod = 200;

Considerando o uso do sistema gerenciador de banco de dados MySQL, para criar a tabela Advogado_Processo, utiliza-se a instrução SQL:


A

CREATE TABLE Advogado_Processo (

numeroOABAdv VARCHAR(6) NOT NULL,

numeroProc VARCHAR(13) NOT NULL,

papel VARCHAR(20),

PRIMARY KEY (numeroOABAdv, numeroProc),

FOREIGN KEY (numeroOABAdv)

REFERENCE Advogado(numeroOABAdv),

FOREIGN KEY (numeroProc)

REFERENCE Processo(numeroProc)

);


B

CREATE TABLE Advogado_Processo (

numeroOABAdv VARCHAR(6) NOT NULL,

numeroProc VARCHAR(13) NOT NULL,

papel VARCHAR(20),

PRIMARY KEY (numeroOABAdv, numeroProc),

FOREIGN KEY (numeroOABAdv)

CONSTRAINT Advogado(numeroOABAdv),

FOREIGN KEY (numeroProc)

CONSTRAINT Processo(numeroProc)

);


C

CREATE TABLE Advogado_Processo (

numeroOABAdv VARCHAR(6) NOT NULL,

numeroProc VARCHAR(13) NOT NULL,

papel VARCHAR(20),

PRIMARY KEY (numeroOABAdv, numeroProc),

FOREIGN KEY (numeroOABAdv)

REFERENCES Advogado(numeroOABAdv),

FOREIGN KEY (numeroProc)

REFERENCES Processo(numeroProc)

);


D

CREATE TABLE Advogado_Processo (

numeroOABAdv VARCHAR(6) NOT NULL,

numeroProc VARCHAR(13) NOT NULL,

papel VARCHAR(20),

PRIMARY KEY (numeroOABAdv, numeroProc),

FOREIGN KEY (numeroOABAdv)

FROM Advogado(numeroOABAdv),

FOREIGN KEY (numeroProc)

FROM Processo(numeroProc)

);


E

CREATE TABLE Advogado_Processo (

numeroOABAdv VARCHAR(6) NOT NULL,

numeroProc VARCHAR(13) NOT NULL,

idPet INT NOT NULL,

PRIMARY KEY (numeroOABAdv, numeroProc),

FOREIGN KEY (numeroOABAdv),

FOREIGN KEY (numeroProc)

);

Analise as afirmativas abaixo sobre as funções de tabela em PL/SQL.


1. São usadas para retornar coleções PL/SQL que simulam ou se comportam como tabelas.

2. Podem ser consultadas como uma tabela regular, utilizando o operador de tablela TABLE da cláusula FROM.

3. Funções de tabela regulares requerem que coleções sejam totalmente populadas antes que sejam retornadas.


Assinale a alternativa que indica todas as afirmativas corretas.


A

É correta apenas a afirmativa 1.


B

São corretas apenas as afirmativas 1 e 2.


C

São corretas apenas as afirmativas 1 e 3.


D

São corretas apenas as afirmativas 2 e 3.


E

São corretas as afirmativas 1, 2 e 3.

PL/SQL é uma linguagem processual projetada especificamente para incluir instruções SQL em sua sintaxe. Analise as afirmações a seguir:


I-PL/SQL é uma linguagem estruturada em blocos. Um bloco PL/SQL é definido pelas palavras-chave DECLARE, BEGIN, RAISE_EXCEPTION e END.

II-DECLARE é a estrutura onde se declaram variáveis, constantes e outros elementos de código. Já a estrutura RAISE_EXCEPTION permite capturar ou lançar qualquer exceção durante a execução do programa.

III-O banco de dados Oracle 12c efetua o ROLLBACK automaticamente de uma transação PL/SQL quando o programa é encerrado de forma inesperada.


É correto o que se afirma em:


A

II, apenas.


B

I, apenas.


C

I e II, apenas.


D

III, apenas.


E

I, II e III.

Considerando a linguagem PL/SQL, em uma procedure ou function, a forma de declarar a variável "aux" que representa um registro com os campos da tabela Empregado é:


A

aux Empregado.TYPE


B

aux Empregado%ROWTYPE


C

var aux := TYPEOF Empregado


D

Empregado%TYPE aux


E

Empregado aux

O PL/SQL comporta diversas expressões em seus comandos. Há algumas expressões que necessitam utilizar os chamados delimitadores. Em particular, os delimitadores de concatenação e de exponenciação são, respectivamente,


A

& e %


B

|| e #


C

** e !


D

“ “ e &


E

|| e **

Em um banco de dados Oracle, um analista utilizou um comando que retornou, da tabela Processo, os dados mostrados abaixo.


Ano

2017

2022

2014

2022


O comando utilizado pelo analista foi


A

SELECT SUBSTR(numeroProc,-4,4) AS Ano FROM Processo;


B

SELECT SUBSTRING(-4,4,numeroProc) AS Ano FROM Processo;


C

SELECT SUBSTR(numeroProc,4,10) AS Ano FROM Processo;


D

SELECT SUBSTRING(10,4,numeroProc) AS Ano FROM Processo;


E

SELECT SUBSTRING(numeroProc from 9 for 4) AS Ano FROM Processo;

Analise o comando a seguir.


SELECT * FROM T1 FULL OUTER JOIN T2 ON T1.A=T2.A


Sabe-se que a coluna A foi definida como chave primária tanto em T1 como em T2, e que T1 e T2 contêm, respectivamente, 20 e 30 linhas.


Assinale a opção que apresenta a estimativa do número de linhas produzidas pela execução do comando acima.


A

20, exatamente.


B

30, exatamente.


C

600, exatamente.


D

Entre 20 e 30.


E

Entre 30 e 50.

Considere que em um banco de dados Oracle 19c, aberto e funcionando em condições ideais, exista a tabela TRTVaras:


CodCidade-----Jurisdicao

32------------Picos

11------------Teresina

21------------Parnaíba

17------------Teresina

33------------Picos

25------------Parnaíba


Para que as cidades cujos CodCidade comecem com 2 tenham a Jurisdicao alterada de Parnaíba para Teresina, deve-se utilizar o seguinte comando PL/SQL:


A

UPDATE TRTVaras SET Jurisdicao = 'Teresina' WHERE REGEXP_LIKE (CodCidade, '^2(*)');


B

UPDATE TRTVaras SET Jurisdicao = 'Teresina' WHERE REGEXP_LIKE (CodCidade, '2%');


C

UPDATE TRTVaras SET Jurisdicao = "Teresina" WHERE LIKE (CodCidade, "2%");


D

UPDATE TRTVaras WHERE Jurisdicao = 'Parnaíba' SET INTO 'Teresina';


E

UPDATE TRTVaras WHERE REGEXP_LIKE (CodCidade, '^2(*)' SET Jurisdicao = 'Teresina');

Considere o script Oracle PL/SQL a seguir.


DECLARE var_x(2);

BEGIN

--UPDATE calendario

--SET dia = dia + 1;

--IF ....... THEN

----dbms_output.put_line('Zero alterados.');

--ELSIF ....... THEN

----var_x:= ....... ;

----dbms_output.put_line(var_x || ' alterados.');

--END IF;

END;


Para que esse script funcione corretamente, os três trechos pontilhados devem ser substituídos, na ordem em que aparecem, por


A

.EMPTY / .OK / .RECORD_COUNT


B

.NOTFOUND / .FOUND / .COUNT


C

_NOTFOUND / _FOUND / _COUNT


D

SQL%NOTFOUND / SQL%FOUND / SQL%ROWCOUNT


E

SQL:EMPTY / SQL:OK / SQL:ROWCOUNT

Analise o código Oracle PL/SQL.


DECLARE

s_mat aluno.matricula%type;

s_nom aluno.nome%type;

s_cur aluno.curso%type;

CURSOR cur_alunos is

...;

BEGIN

OPEN cur_alunos;

LOOP

FETCH cur_alunos

into s_mat, s_nom, s_cur;

EXIT WHEN cur_alunos%notfound;

dbms_output.put_line(s_mat || ' ' ||

s_nom || ' ' ||

s_cur);

END LOOP;

CLOSE cur_alunos;

END;

/


Assinale a opção que apresenta o trecho que deve substitui corretamente os pontos “...” na sexta linha do código.


A

GET aluno


B

IMPORT FROM aluno TO cur_alunos


C

READ FROM aluno


D

SELECT matricula, nome, curso FROM aluno


E

WITH * FROM aluno

   
Gerar simulado