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
- CREATE STORED PROCEDURE obterNome(CHAR(6) oab, CHAR(45) nome OUT)
- CREATE PROCEDURE obterNome(IN oab VARCHAR(6), OUT nome VARCHAR(45))
- CREATE PROCEDURE obterNome(VARCHAR(6) oab, VARCHAR(45) nome)
- CREATE STORED PROCEDURE obterNome(IN oab CHAR(6), OUT nome CHAR(45))
- 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