首页 > 解决方案 > INSERT INTO WITH SELECT 和 WHERE(问题)

问题描述

我需要使用 select 执行插入,但 DBEAVER 返回以下错误:

SQL 错误 [904] [42000]:ORA-00904:“NR_CARTEIRA”:标识符无效

有谁知道会是什么?

INSERT INTO recem_nascido(
   DT_ATENDIMENTO ,
   CD_DECLARACAO_NASCIDO_VIVO,
   cd_atendimento,
   CD_MULTI_EMPRESA,
   cd_paciente,
   nm_paciente,
   CD_ATENDIMENTO_PAI,
   dt_nascimento,
   nm_mae,
   cd_convenio,
   NR_CARTEIRA )
SELECT
   a.DT_ATENDIMENTO ,
   c.CD_DECLARACAO_NASCIDO_VIVO,
   a.cd_atendimento,
   a.CD_MULTI_EMPRESA,
   a.cd_paciente,
   b.nm_paciente,
   a.CD_ATENDIMENTO_PAI,
   b.dt_nascimento,
   b.nm_mae,
   a.cd_convenio,
   a.NR_CARTEIRA
FROM
     DBAMV.ATENDIME a,
     dbamv.paciente b,
     dbamv.recem_nascido c
WHERE 
   a.CD_ATENDIMENTO = 33079344
   AND c.CD_DECLARACAO_NASCIDO_VIVO = 111
   AND A.NR_CARTEIRA = 321321321
   AND a.cd_atendimento_pai IS NOT NULL 
   AND a.CD_PACIENTE = b.CD_PACIENTE 
   AND c.CD_ATENDIMENTO = a.CD_ATENDIMENTO; ```

标签: sqloraclesql-insertwhere-clause

解决方案


只有两个选项:

  1. 目标表recem_nascido没有列NR_CARTEIRA
  2. 该表DBAMV.ATENDIME没有列NR_CARTEIRA

由于您只发布了查询,而不是表结构,因此无法进一步缩小范围。


推荐阅读