Postgresql,将数据从外部 table 复制到新的 table

Postgresql, Copy data to a new table from a foreign table

我正在尝试做一项工作,将数据从架构 "nathalia" 的名为 "m_aduana" 的外部 table 复制到我的架构 "publico" 和我的 table "mae_aduana".

我需要执行一个查询,从 table "m_aduana" 中复制所有值,避免重复。

我现在得到了类似的东西,但结果给我发送了一个 Insert 0 0,这意味着没有插入任何内容。

insert into publico.mae_aduana(cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana)
select cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana 
    from nathalia.m_aduana
    where not exists (
    select * from publico.mae_aduana ma_ad, nathalia.m_aduana m_ad
        where ma_ad.cod_aduana = m_ad.cod_aduana)

您可能想要更改 where exists 部分,如下所示

from nathalia.m_aduana m
where not exists (
select 1 from publico.mae_aduana
    where cod_aduana = m.cod_aduana)

我认为你的内在有错误select。您不需要再次使用 table nathalia.m_aduana。如果应该是这样的:

insert into publico.mae_aduana(cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana)
select cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana 
    from nathalia.m_aduana
    where not exists (
    select * from publico.mae_aduana ma_ad
        where ma_ad.cod_aduana = nathalia.m_aduana.cod_aduana)