1
resposta

[Dúvida] Outra versão da resposta?

Gostaria de saber se está correto fazer desta forma:

DECLARE
   v_COD produto_exercicio.cod%type := '41232';
   v_DESCRICAO produto_exercicio.descricao%type := 'Sabor de Verão > Laranja > 1 Litro';
BEGIN
   UPDATE PRODUTO_EXERCICIO SET DESCRICAO = V_DESCRICAO WHERE COD = V_COD;
     v_COD produto_exercicio.cod%type := '32223';
   v_DESCRICAO produto_exercicio.descricao%type := 'Sabor de Verão > Uva > 1 Litro';
     UPDATE PRODUTO_EXERCICIO SET DESCRICAO = V_DESCRICAO WHERE COD = V_COD;
   COMMIT;
END;
1 resposta

Oii, como você está?

Peço desculpas por demorar a te responder.

A estrutura está correta! Essa também é uma forma interessante de fazer as alterações. Porém, como todo o nome terá que ser repetido, pode gerar um pouco mais de trabalho ao trabalhar com maiores quantidades de dados.

Apenas um detalhe fez com que esse bloco de código retornasse uma mensagem de erro: no escopo do BEGIN, ao atribuir novos valores às variáveis, não é necessário repetir o tipo. Toda a parte com o percent type pode ser removida. O código correto fica assim:

DECLARE
   v_COD produto_exercicio.cod%type := '41232';
   v_DESCRICAO produto_exercicio.descricao%type := 'Sabor de Verão > Laranja > 1 Litro';
BEGIN
   UPDATE PRODUTO_EXERCICIO SET DESCRICAO = V_DESCRICAO WHERE COD = V_COD;
     v_COD := '32223';
     v_DESCRICAO := 'Sabor de Verão > Uva > 1 Litro';
     UPDATE PRODUTO_EXERCICIO SET DESCRICAO = V_DESCRICAO WHERE COD = V_COD;
   COMMIT;
END;

Continue estudando e praticando os novos conhecimentos!

Forte abraço.