我写的更新触发,并正与UPDATE语句挣扎:Update语句在SQL
的语句是如下:
UPDATE ARGUS_APP.CMN_REG_REPORTS CARR
SET CARR.DATE_SUBMITTED =
(
SELECT To_Date(M.ACKNOWLEDGMENTHEADER.MESSAGEDATE,'YYYYMMDDHH24MISS') Messagedate
FROM esm_owner.MESSAGES M
WHERE M.ACKNOWLEDGMENTHEADER.MESSAGESENDERIDENTIFIER='PMDA'
)
WHERE CARR.DATE_SUBMITTED =
(
SELECT CARR.DATE_SUBMITTED
FROM esm_owner.safetyreport sr,esm_owner.MESSAGES M,ARGUS_APP.CMN_REG_REPORTS CARR
WHERE sr.report_id=CARR.esm_report_id
AND M.msg_id = sr.msg_id
AND M.ACKNOWLEDGMENTHEADER.MESSAGESENDERIDENTIFIER='PMDA'
)
我得到ORA:01427每次。
的表结构如下:
我有3个表
- ARGUS_APP.CMN_REG_REPORTS CARR .............具有列DATE_SUBMITTED(我想以及与安全报告的report_id联合的esm_report_id
- ESM_OWNER.SAFETYREPORT SR ............具有report_id和MSG_ID列(与MESSAGES表的msg_id结合)
- MESSAGES M ..........有列MSG_ID和ACKNOWLEDGME NTHEADER.MESSAGESENDERIDENTIFIER
请帮我解决这个问题。
你的一个子查询将返回多行这是什么原因造成的错误。从你的问题中不清楚你想如何解决这个问题。 –
“消息”在“MESSAGESENDERIDENTIFIER”上不是唯一的,或者您的其他子查询有问题...我没有看到我们没有更多信息可以提供帮助,我们当然不能比您更快可以为你自己... – Ben