update/insert 数据从 table 到 table - ORA-00904

update/insert data into table from table - ORA-00904

我正在尝试 insert/update 数据到 table 但我得到 ORA-00904 - 无效标识符。

tables 定义如下:

    CREATE TABLE "TST"."R0_RL_EST_SHARE" 
   (    "ID" NUMBER(19,0), 
    "BUILDING_SOCIETY_SHARE" CHAR(1 CHAR), 
    "EDITED_BY_USER" CHAR(1 CHAR), 
    "OBJECT_CREATED_ON" TIMESTAMP (6), 
    "OBJECT_TYPE" VARCHAR2(2048 CHAR), 
    "OBJECT_UPDATED_ON" TIMESTAMP (6), 
    "OBJECT_VERSION" NUMBER(19,0), 
    "REAL_ESTATE_SHARE_D" NUMBER(19,0), 
    "REAL_ESTATE_SHARE_N" NUMBER(19,0), 
    "MORTGAGE_OBJECT_ID" NUMBER(19,0), 
    "REAL_ESTATE_ID" NUMBER(19,0), 
    "SELLING_SHARE_OF_ID" NUMBER(19,0), 
    "PARTY_ID" NUMBER(19,0)
   )

CREATE TABLE "TST"."PARTY_SHARE" 
   (    "PARTY_ID" NUMBER(19,0), 
    "REAL_ESTATE_SHARE_ID" NUMBER(19,0)
   )

两个table都有几千行。 TST.R0_RL_EST_SHARE 中的列 PARTY_ID 为空 - 全部为空值。我需要将 PARTY_ID 数据从 PARTY_SHARE 插入到 R0_RL_EST_SHARE,条件是 R0_RL_EST_SHARE 中的 ID 与 PARTY_SHARE 中的 R0_RL_EST_SHARE_ID 相同。

我尝试了很多方法,但总是以 ORA-00904 - 无效标识符结尾。

这是我的插页:

insert into R0_RL_EST_SHARE (PARTY_ID)
select PARTY_ID from PARTY_SHARE
where R0_RL_EST_SHARE.ID = PARTY_SHARE.REAL_ESTATE_SHARE_ID

及其错误代码:

Error starting at line : 6 in command -
insert into R0_RL_EST_SHARE (PARTY_ID)
select PARTY_ID from PARTY_SHARE
where "TST"."R0_RL_EST_SHARE".ID = PARTY_SHARE.REAL_ESTATE_SHARE_ID
Error at Command Line : 8 Column : 7
Error report -
SQL Error: ORA-00904: "TST"."R0_RL_EST_SHARE"."ID": neplatný identifikátor
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:

感谢您的帮助...

如果我对你的问题的理解正确,那么你实际上是在尝试 update 你的数据,而不是 insert

这是一种方法:

update R0_RL_EST_SHARE 
set party_id = (
   select party_id 
   from PARTY_SHARE 
   where R0_RL_EST_SHARE.id = PARTY_SHARE.REAL_ESTATE_SHARE_ID)