当我运行时,此查询告诉您逗号丢失了。请查看它。 这是我的问题。
INSERT
INTO
VI_STAT_APP
(STAT_TYPE_ROWID,STAT_REASON_ROWID,STAT_APP_ROWID="3815226")
VALUES
((SELECT
stat_reason.STAT_TYPE_ROWID
from
VI_STAT_TYPE stat_type
inner join
VI_STAT_GRP stat_grp
on stat_type.STAT_GRP_ROWID=stat_grp.STAT_GRP_ROWID
left outer join
VI_STAT_REASON stat_reason
on stat_reason.STAT_TYPE_ROWID=stat_type.STAT_TYPE_ROWID
where
stat_grp.STAT_GRP_NAME="DNB STATUS VALUES - AGMNT"),(SELECT
stat_reason.STAT_REASON_ROWID
from
VI_STAT_TYPE stat_type
inner join
VI_STAT_GRP stat_grp
on stat_type.STAT_GRP_ROWID=stat_grp.STAT_GRP_ROWID
left outer join
VI_STAT_REASON stat_reason
on stat_reason.STAT_TYPE_ROWID=stat_type.STAT_TYPE_ROWID
where
stat_grp.STAT_GRP_NAME="DNB STATUS VALUES - AGMNT"));
提前致谢。
答案 0 :(得分:0)
这对我来说不合适:
STAT_APP_ROWID="3815226"
紧跟在INSERT INTO
之后的列名列表恰好是列名,而不是值。如果您想对START_APP_ROWID
列插入的值进行硬编码,请将其移至VALUES
部分,例如:
INSERT INTO VI_STAT_APP
(STAT_TYPE_ROWID, STAT_REASON_ROWID, STAT_APP_ROWID)
VALUES
(
(SELECT stat_reason.STAT_TYPE_ROWID
FROM VI_STAT_TYPE stat_type
INNER JOIN VI_STAT_GRP stat_grp
ON stat_type.STAT_GRP_ROWID = stat_grp.STAT_GRP_ROWID
LEFT OUTER JOIN VI_STAT_REASON stat_reason
ON stat_reason.STAT_TYPE_ROWID = stat_type.STAT_TYPE_ROWID
WHERE stat_grp.STAT_GRP_NAME = "DNB STATUS VALUES - AGMNT"),
(SELECT stat_reason.STAT_REASON_ROWID
FROM VI_STAT_TYPE stat_type
INNER JOIN VI_STAT_GRP stat_grp
ON stat_type.STAT_GRP_ROWID = stat_grp.STAT_GRP_ROWID
LEFT OUTER JOIN VI_STAT_REASON stat_reason
ON stat_reason.STAT_TYPE_ROWID = stat_type.STAT_TYPE_ROWID
WHERE stat_grp.STAT_GRP_NAME = "DNB STATUS VALUES - AGMNT"),
"3815226" // include this value here
);
您当前的查询试图在INSERT INTO
子句中提及三列,而只提供两个实际值。