我需要获取anexo的id,然后将结果id列表插入另一个表
with new_id as(INSERT INTO
clienteproveedor.anexo
(
codigo,
estado,
facturar,
observaciones,
servicioproductocontratadoid,
formaspagoid
)
select
ServiciosPorAnexo.CodAnexo,
ServiciosPorAnexo.cancelado,
serviciosporanexo.facturacion,
ServiciosPorAnexo.MotivosElim,
ServiciosPorAnexo.codigo_servicio,
ServiciosPorAnexo.FormaPago
from clienteproveedor.serviciosporanexo
returning id);
是的,你可以做到,而且你很接近。你的问题是你的returning
条款在错误的地方。试一试:
with new_id(id) as
(INSERT INTO
clienteproveedor.anexo
(
codigo,
estado,
facturar,
observaciones,
servicioproductocontratadoid,
formaspagoid
)
retuning id
)
select
ServiciosPorAnexo.CodAnexo,
ServiciosPorAnexo.cancelado,
serviciosporanexo.facturacion,
ServiciosPorAnexo.MotivosElim,
ServiciosPorAnexo.codigo_servicio,
ServiciosPorAnexo.FormaPago
from clienteproveedor.serviciosporanexo
where ServiciosPorAnexo.id in
(select id from new_id);
注意:没有测试,因为我没有表定义也没有示例数据。