Olá Henrique, tudo bem ?
Explicação do DECLARE
DECLARE serve para criar variáveis temporárias no bloco PL/SQL.
O trecho abaixo cria a variável v_ID do mesmo tipo da coluna ID da tabela SEGMERCADO, e atribua o valor 3 a ela".
v_ID SEGMERCADO.ID%type := 3;
Esse trecho de código apenas declara variáveis, (v_ID e v_DESCRICAO) do tipo dos campos da tabela SEGMERCADO, e já as inicializa com valores, mas nenhuma alteração é feita na tabela ainda.
Isso é semelhante a você programar e definir variáveis no seu código.
UPDATE
Se o objetivo fosse alterar o valor diretamente na tabela SEGMERCADO, seria necessário usar o bloco BEGIN com UPDATE, assim:
DECLARE
v_ID SEGMERCADO.ID%type := 3;
v_DESCRICAO SEGMERCADO.DESCRICAO%type := 'Atacadista';
BEGIN
UPDATE SEGMERCADO
SET DESCRICAO = v_DESCRICAO
WHERE ID = v_ID;
END;
Não, não é a mesma coisa que um UPDATE.
Esse trecho de código apenas declara variáveis (v_ID e v_DESCRICAO) do tipo dos campos da tabela SEGMERCADO, e já as inicializa com valores, mas nenhuma alteração é feita na tabela ainda.
Se tiver mais dúvidas pode mandar!
Espero ter ajudado, caso essa solução realmente tenha ajudado, vocẽ pode marcar como concluída ou perguntar mais se precisar de mais ajuda!