Oracle 插入到选择中(无效标识符错误)

Oracle 插入到选择中(无效标识符错误),oracle,Oracle,我有一个名为Andamio的表destiny表,其中包含以下列: CODTIPOLOCALIZACION TXTNOMBRE CODLOCALIZACION CODCENTRO CODPUBLICO TXTDESCRIPCION CODCENTRO CODPARKING TXTPARKING 另一个称为Centro的是原点一,有以下列: CODTIPOLOCALIZACION TXTNOMBRE CODLOCALIZACION CODCENTRO CODPUBLICO TXTDESCRIPC

我有一个名为Andamio的表destiny表,其中包含以下列:

CODTIPOLOCALIZACION
TXTNOMBRE
CODLOCALIZACION
CODCENTRO
CODPUBLICO
TXTDESCRIPCION
CODCENTRO
CODPARKING
TXTPARKING
另一个称为Centro的是原点一,有以下列:

CODTIPOLOCALIZACION
TXTNOMBRE
CODLOCALIZACION
CODCENTRO
CODPUBLICO
TXTDESCRIPCION
CODCENTRO
CODPARKING
TXTPARKING
我想用前两列中相同的值填充所有行:

CODTIPOLOCALIZACION = 2    for all
TXTNOMBRE = "Park"         for all
第三列来自一个自动序列:“MySeq_seq”

CODLOCALIZACION = MySeq_seq.NEXTVAL
原始表Centro的最后三列必须相同,但前提是destiny表Andamio中没有其他行的CODCENTRO和CODPUBLICO值相同,等于CODCENTRO和CODPARKING

INSERT INTO ANDAMIO
        (CODTIPOLOCALIZACION, TXTNOMBRE, CODLOCALIZACION, CODCENTRO, CODPUBLICO, 
         TXT_DESCRIPCION)
SELECT '2', 'Park', MySeq_seq.NEXTVAL, Datos.CODCENTRO, Datos.CODPARKING, Datos.TXTPARKING
    FROM (SELECT CODCENTRO, CODPARKING, TXTPARKING FROM CENTRO centrop
    WHERE (centrop.CODCENTRO <> ANDAMIO.CODCENTRO
       AND centrop.CODPARKING <> ANDAMIO.CODPUBLICO)) Datos
我尝试过将这些插入到序列中,有很多变体[使用插入到表值'2','Park',SELECT…]和其他许多变体。。。 我总是得到无效的标识符,因为Oracle声称在表Andamio中没有名为CODPUBLICO的列,但它确实存在

任何帮助都将不胜感激。
谢谢

之所以出现此错误,是因为您在insert语句的select部分引用了andamio列,而没有在from子句中引用andamio表

我怀疑not exists条款会给你你想要的东西,例如:

insert into andamio (codtipolocalizacion,
                     txtnombre,
                     codlocalizacion,
                     codcentro,
                     codpublico, 
                     txt_descripcion)
select '2', 
       'Park',
       myseq_seq.nextval,
       datos.codcentro,
       datos.codparking,
       datos.txtparking
from   (select codcentro, codparking, txtparking
        from   centro cen
        where  not exists (select null
                           from   andamio an
                           where  cen.codcentro = an.codcentro
                           and    cen.codparking = an.codpublico) datos;

非常感谢你!!这是我的第一篇帖子,所以我希望我没有重复任何问题,因为我没有发现任何其他类似的问题。没关系*{:-你的问题中有很多信息耶!所以很容易发现。仅供参考,如果你在…选择…,选择部分与插入部分完全分开。你应该能够自己运行它,这是检查错误等的有用方法。