1
resposta

[Dúvida] Dúvida da estrutura

Fiquei na duvida na estrutura, como eu no Declare, ja consigo fazer um update ? eu declaro um valor já alterando ele na tabela ?

DECLARE
   v_ID SEGMERCADO.ID%type := 3;
   v_DESCRICAO SEGMERCADO.DESCRICAO%type := 'Atacadista';

Que nessa parte do codigo não tem nada de Update, mas sim a declaração, como se o DECLARE e o BEGIN usando o Update tivesse a mesma ação.

é certo esse raciocinio ?

1 resposta

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!