Imagem de fundo

Considere que os seguintes comandos foram executados sobre...

Considere que os seguintes comandos foram executados sobre um banco de dados PostgreSQL 9.5:

CREATE TABLE Cliente (idCli INTEGER, pontos INTEGER, situacao VARCHAR(30));

CREATE FUNCTION situacao_cliente() RETURNS trigger AS $situacao_cliente$

BEGIN

IF NEW.pontos < 0 THEN

NEW.situacao:= ‘negativo’;

END IF;

RETURN NEW;

END;

$situacao_cliente$ LANGUAGE plpgsql;

Deseja-se garantir que todo registro da tabela Cliente que for atualizado com um valor negativo para o atributo pontos seja armazenado com o valor do atributo situacao como ‘negativo’.

Assinale a alternativa que apresenta o comando que garantiria este comportamento.


A

CREATE STORED PROCEDURE situacao_cliente ON Cliente FOR UPDATE EXECUTE situacao_cliente();


B

ALTER TABLE Cliente ADD TRIGGER situacao_cliente ON UPDATE;


C

CREATE STORED PROCEDURE situacao_cliente WITH UPDATE ON Cliente EXECUTE situacao_cliente();


D

CREATE TRIGGER situacao_cliente BEFORE UPDATE ON Cliente FOR EACH ROW EXECUTE PROCEDURE situacao_cliente();


E

ALTER TABLE Cliente BEFORE UPDATE (pontos) FOR EACH ROW EXECUTE PROCEDURE situacao_cliente();