【发布时间】:2015-02-26 14:33:19
【问题描述】:
我正在尝试将数据插入/更新到表中,但我得到 ORA-00904 - 标识符无效。
表定义如下:
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)
)
两个表都有数千行。 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:
感谢您的帮助...
【问题讨论】:
-
从上面 R0_RL_EST_SHARE 的表定义中可以看到...
标签: sql oracle plsql sql-update sql-insert