You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Ganga Krishna Yenishetty <Ga...@infosys.com> on 2008/12/29 13:45:59 UTC
Problem while using select query as inner query for update query.
Hi,
I am using select query as inner query in update query.
Getting following exception:
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/infosys/qreuse/reuse/domain/conf/RoleMaster.xml.
--- The error occurred while executing update.
--- Check the UPDATE ROLEMASTER SET REPORTSTO = (SELECT ROLEID AS roleId FROM ROLEMASTER WHERE ROLENAME = ? AND GROUPID = ?),LASTMODIFIEDBY = ? WHERE REPORTSTO = (SELECT ROLEID AS roleId FROM ROLEMASTER WHERE ROLENAME = ? AND GROUPID = ?) AND ROLEID NOT IN (SELECT ROLEID As roleIdArr FROM ROLEMASTER WHERE ROLENAME = ? AND GROUPID = ?) .
--- Check the SQL Statement (preparation failed).
--- Cause: java.sql.SQLException: Cannot modify table or view used in subquery.
My query is,
<update id="updateReportsTo" parameterClass="com.infosys.qreuse.reuse.domain.RoleMaster">
UPDATE ROLEMASTER
SET REPORTSTO = (SELECT ROLEID AS roleId FROM ROLEMASTER WHERE ROLENAME = #roleName# AND GROUPID = #groupId#),LASTMODIFIEDBY = #lastModifiedBy#
WHERE REPORTSTO = (SELECT ROLEID AS roleId FROM ROLEMASTER WHERE ROLENAME = #roleName# AND GROUPID = #groupId#)
AND ROLEID NOT IN (SELECT ROLEID As roleIdArr FROM ROLEMASTER WHERE ROLENAME = #roleName# AND GROUPID = #groupId#)
</update>
Is there is any approach to use select query as inner query in update query?
Thanks & Regards
Ganga Krishna.
**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely
for the use of the addressee(s). If you are not the intended recipient, please
notify the sender by e-mail and delete the original message. Further, you are not
to copy, disclose, or distribute this e-mail or its contents to any other person and
any such actions are unlawful. This e-mail may contain viruses. Infosys has taken
every reasonable precaution to minimize this risk, but is not liable for any damage
you may sustain as a result of any virus in this e-mail. You should carry out your
own virus checks before opening the e-mail or attachment. Infosys reserves the
right to monitor and review the content of all messages sent to or from this e-mail
address. Messages sent to or from this e-mail address may be stored on the
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***