FC ConcursosFC Concursos

Questão FC372910

O banco de dados de um órgão do Judiciário foi modelado conforme imagem abaixo, utilizando o Modelo Entidade-Relacionamento (MER). Foi criado um banco de dados chamado MPEPB123 com

Linguagem SQL

FCC · 2023

O banco de dados de um órgão do Judiciário foi modelado conforme imagem abaixo, utilizando o Modelo Entidade-Relacionamento (MER).

 

 

Foi criado um banco de dados chamado MPEPB123 com as tabelas referentes ao modelo e os dados abaixo foram cadastrados. Considere para todas as questões que o banco de dados está aberto e em condições ideais.

 

Tabela Processo

numeroProc

orgaoProc tribunalProc

origemProc

0001842672017

5 01 0246

0045613912014

8 19 0004

0056712432022

6 14 0023

0002347652022

8 02 0341
 

Tabela Advogado

numeroOABAdv

nomeAdv

28H418

Marcos Vieira Dias

34.443

Fabiana Duque Zanon

 

Tabela Advogado_Processo

numeroOABAdv

numeroProc

papel

28H418

0001842672017

Defesa

34.443

0045613912014

Defesa

28H418

0056712432022

Acusação

28H418

0045613912014

Acusação

34.443

0056712432022

Acusação

34.443

0001842672017

Acusação

 

Considere a Stored Procedure abaixo, criada no banco de dados MySQL.

 

delimiter //

      I     

BEGIN

SELECT nomeAdv INTO nome FROM Advogado

WHERE numeroOABAdv = oab;

END//

delimiter;

CALL obterNome('28H418', @nome);

SELECT @nome AS NomeAdvogado;

 

Para que, ao executar esta sequência de comandos, seja exibido corretamente o nome do advogado Marcos Vieira Dias, cujo número OAB é 28H418, a lacuna I deve ser preenchida com

  1. CREATE STORED PROCEDURE obterNome(CHAR(6) oab, CHAR(45) nome OUT)
  2. CREATE PROCEDURE obterNome(IN oab VARCHAR(6), OUT nome VARCHAR(45))
  3. CREATE PROCEDURE obterNome(VARCHAR(6) oab, VARCHAR(45) nome)
  4. CREATE STORED PROCEDURE obterNome(IN oab CHAR(6), OUT nome CHAR(45))
  5. CREATE PROCEDURE obterNome(String oab, String nome)
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A instrução CREATE PROCEDURE obterNome(IN oab VARCHAR(6), OUT nome VARCHAR(45)) define corretamente a procedure para receber um código OAB e devolver o nome do advogado.

IN indica parâmetro de entrada (oab) usado na cláusula WHERE; OUT é parâmetro de saída (nome) que receberá o resultado. A sintaxe exige o nome do parâmetro seguido do tipo de dado (ex.: oab VARCHAR(6)).

Dentro do corpo da procedure o comando SELECT nomeAdv INTO nome FROM Advogado WHERE numeroOABAdv = oab; transfere o valor da coluna para o parâmetro de saída.

Ao chamar CALL obterNome('28H418', @nome); o valor de saída é atribuído à variável de sessão @nome, recuperável com SELECT @nome AS NomeAdvogado;.

Não esqueça de usar DELIMITER ao criar a procedure para delimitar corretamente o bloco.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo