Update with id returned from insert using WITH I need a help with this query I make an insert that returns me an id, then I need to run an UPDATE with that id returned...

WITH disca AS ( 
    INSERT INTO callcenter.campanha_cliente_chamada 
        (   id_campanha_cliente,  
                cod_contato, 
                telefone,  
                telefone_discar, 
                id_status_chamada,  
                tentativa, 
                monitorando, 
                acionar_proxima,
                datahora_update, 
                datahora_registro 
        ) VALUES (154424,1824704,'(11) 2524-9636','1125249636',1,1,0,0,CURRENT_TIMESTAMP::timestamp(0),CURRENT_TIMESTAMP::timestamp(0)) 
    RETURNING id_campanha_cliente_chamada 
) UPDATE callcenter.campanha_cliente_chamada 
  SET accountcode = ('D-'||id_campanha_cliente_chamada||'-'||tentativa)::varchar(128) 
  WHERE id_campanha_cliente_chamada = disca;
You don't need to INSERT and then UPDATE - and it isn't advisable anyway, to insert/update/delete the same rows twice in one statement. You can calculate the values and then do the INSERT:

WITH disca 
  ( id_campanha_cliente_chamada,
    id_campanha_cliente, cod_contato, 
    telefone, telefone_discar, 
    id_status_chamada, tentativa, monitorando, acionar_proxima,
    datahora_update, datahora_registro 
  ) 
AS 
  ( VALUES 
      ( nextval('callcenter.campanha_cliente_chamada_id_campanha_cliente_chamada_seq'),
        154424, 1824704, 
        '(11) 2524-9636', '1125249636', 
        1, 1, 0, 0, 
        CURRENT_TIMESTAMP::timestamp(0), CURRENT_TIMESTAMP::timestamp(0)
      )
  ) 
INSERT INTO callcenter.campanha_cliente_chamada 
  ( id_campanha_cliente_chamada,
    id_campanha_cliente, cod_contato, 
    telefone, telefone_discar, 
    id_status_chamada, tentativa, monitorando, acionar_proxima,
    datahora_update, datahora_registro,
    accountcode
  ) 
SELECT
    id_campanha_cliente_chamada,
    id_campanha_cliente, cod_contato, 
    telefone, telefone_discar, 
    id_status_chamada, tentativa, monitorando, acionar_proxima,
    datahora_update, datahora_registro,
    ('D-' || id_campanha_cliente_chamada || '-' || tentativa)::varchar(128)
FROM 
    disca;


You can find the actual name of the sequence that has to be put in nextval('...') with \d campanha_cliente_chamada.