Imagem de fundo

Em uma base de dados executada no PostgreSQL Versão 12...

Em uma base de dados executada no PostgreSQL Versão 12, mantida para apoiar uma aplicação institucional, a equipe de tecnologia pretende criar uma rotina armazenada que execute, no servidor de banco de dados, uma operação de atualização sem retorno tabular para a aplicação. A rotina deverá ser definida como uma procedure, receber um parâmetro inteiro de entrada, utilizar a linguagem procedural PL/pgSQL, conter o comando de atualização em um bloco procedural e ser posteriormente invocada pela aplicação. Durante a revisão da implementação, foram apresentadas diferentes formas de definir e executar essa rotina. Considerando a situação hipotética descrita, assinale a alternativa compatível com os requisitos apresentados.


A

CREATE PROCEDURE rotina_atualizacao(IN p_id INT)
BEGIN
UPDATE tabela_operacional
SET situacao = 'PROCESSADA'
WHERE id = p_id;
END;
CALL rotina_atualizacao(10);


B

DELIMITER //
CREATE PROCEDURE rotina_atualizacao(IN p_id INT)
BEGIN
UPDATE tabela_operacional
SET situacao = 'PROCESSADA'
WHERE id = p_id;
END //
DELIMITER ;
CALL rotina_atualizacao(10);


C

CREATE FUNCTION rotina_atualizacao(p_id integer)
RETURNS void
AS $$
BEGIN
UPDATE tabela_operacional
SET situacao = 'PROCESSADA'
WHERE id = p_id;
END;
$$ LANGUAGE plpgsql;
SELECT rotina_atualizacao(10);


D

CREATE PROCEDURE rotina_atualizacao(p_id integer)
LANGUAGE plpgsql
AS $$
BEGIN
UPDATE tabela_operacional
SET situacao = 'PROCESSADA'
WHERE id = p_id;
END;
$$;
CALL rotina_atualizacao(10);