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)
我正在尝试 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)