Questão FC372892
Um programador deseja definir uma query SQL para retornar os valores das colunas salario e job_id para determinado id de funcionário, de forma que ela seja executada de acordo com
Linguagem SQL
FCC · 2019
Um programador deseja definir uma query SQL para retornar os valores das colunas salario e job_id para determinado id de funcionário, de forma que ela seja executada de acordo com os parâmetros que receber. Considerando a existência da tabela e dos campos indicados, no Oracle PL/SQL digitou o bloco de comandos abaixo.
..I..
(p_id IN funcionarios.funcId%TYPE,
p_salario OUT funcionarios.salario%TYPE,
p_job OUT funcionarios.job_id%TYPE) IS
BEGIN
SELECT salario, job_id
INTO p_salario, p_job
FROM funcionarios
WHERE funcId = p_id;
END obter_dados
/
Completa adequadamente a lacuna I a instrução: CREATE
- FUNCTION obter_dados PARAMETERS
- OR REPLACE VIEW obter_dados
- OR REPLACE PROCEDURE obter_dados
- TRIGGER obter_dados
- STRUCTURE obter_dados
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A opção correta indica que o bloco é uma procedure, declarada com OR REPLACE PROCEDURE obter_dados, o que combina com o corpo apresentado.
Uma procedure não precisa de cláusula de return; ela devolve valores por parâmetros marcados como OUT. No código, os parâmetros têm tipos definidos com %TYPE e são preenchidos pela instrução SELECT ... INTO, que atribui os campos salario e job_id aos parâmetros de saída.
Sintaticamente, a declaração completa típica é: CREATE OR REPLACE PROCEDURE obter_dados ( ... ) IS, seguida do BEGIN...
Observe que o nome após END (END obter_dados) deve coincidir com a declaração inicial; esse padrão garante que a procedure compile e possa ser chamada passando o id e recebendo os valores via parâmetros OUT.
Conteúdo do catálogo FC Concursos · Atualizado em