Informática, perguntado por carlosjob, 1 ano atrás

Elaborar um stored procedure que receba como parâmetro a descrição de uma categoria e atualize os preços dos produtos. Os produtos com preço até 100 reais serão reajustados em 3%, os demais terão aumento de 5%. Qual alternativa se refere à elaboração correta?

a. create or replace procedure
prc_atualizar_produtos(x varchar) as
v_cod_cat number;
begin
select cod_cat into v_cod_cat from tb_categoria where descricao = x;
update tb_produto set preco = preco * 1.03
where cod_cat = v_cod_cat and preco <= 100;
update tb_produto set preco = preco * 1.05
where cod_cat = v_cod_cat and preco > 100;
end;
b. create or replace procedure
prc_atualizar_produtos(x number) as
v_cod_cat number;
begin
select cod_cat into v_cod_cat from tb_categoria where descricao = x;
update tb_produto set preco = preco * 1.03
where cod_cat = v_cod_cat and preco <= 100;
update tb_produto set preco = preco * 1.05
where cod_cat = v_cod_cat and preco > 100;
end;
c. create or replace procedure
prc_atualizar_produtos(x varchar) as
v_cod_cat number;
begin
select cod_cat into v_cod_cat from tb_categoria where descricao = x;
update tb_produto set preco = preco * 1.03
where cod_cat = v_cod_cat and preco < 100;
update tb_produto set preco = preco * 1.05
where cod_cat = v_cod_cat and preco > 100;
end;
d. create or replace procedure
prc_atualizar_produtos(x varchar) as
v_cod_cat number;
begin
select cod_cat into v_cod_cat from tb_categoria where descricao = x;
update tb_produto set preco = preco * 1.03
where cod_cat = v_cod_cat and preco <= 100;
update tb_produto set preco = preco * 1.05
where cod_cat = v_cod_cat and preco >= 100;
end;
e. create or replace procedure
prc_atualizar_produtos(x varchar) as
v_cod_cat varchar;
begin
select cod_cat into v_cod_cat from tb_categoria where descricao = x;
update tb_produto set preco = preco * 1.03
where cod_cat = v_cod_cat and preco <= 100;
update tb_produto set preco = preco * 1.05
where cod_cat = v_cod_cat and preco > 100;
end;

OBS.: Pessoal... Já Marquei as Letras B e E... e ambas deram errados....

Soluções para a tarefa

Respondido por pedrowaldenmeier
130
Alternativa correta (A)

create or replace procedure
prc_atualizar_produtos(x varchar) as
v_cod_cat number;
begin
select cod_cat into v_cod_cat from tb_categoria where descricao = x;
update tb_produto set preco = preco * 1.03
where cod_cat = v_cod_cat and preco <= 100; (aqui ele mostra que será atualizado em 1.03 os produtos com valor menor ou igual a 100.

update tb_produto set preco = preco * 1.05
where cod_cat = v_cod_cat and preco > 100; (aqui  ele mostra que os valores maiores que 100 receberão o reajuste de 1.05)
end;

Até mais! =)
Respondido por henriquedepadua
28

Resposta:

Alternativa A

Explicação:

Vai que é sucesso!

Perguntas interessantes