我需要这个查询的帮助我做了一个返回我一个 id 的插入,然后我需要运行一个返回该 id 的更新......
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;
您不需要
INSERT
然后UPDATE
- 无论如何,在一个语句中两次插入/更新/删除相同的行是不可取的。您可以计算这些值,然后执行以下操作INSERT
:您可以找到必须放入的序列的实际
nextval('...')
名称\d campanha_cliente_chamada
。