Yes - thank you Nathan. I realize I have quite a few typos in my sql... Let me get all those cleared before reaching out again for help. Appreciate your help.
Thanks, Anoop On Tue, Aug 25, 2009 at 11:48 AM, Nathan Maves <nathan.ma...@gmail.com>wrote: > Anoop, > > What you are getting is a SQL exception. This means that ibatis has > already done its job. I would guess that your issue is with the reuse of > the word "set" before the region_name column. > > nathan > > > On Tue, Aug 25, 2009 at 9:40 AM, Anoop kumar V <anoopkum...@gmail.com>wrote: > >> Hi Larry, >> >> Was wondering if you could help me clarify one thing more... >> >> I have my sqlmap as below: >> >> <update id="updateUserApprover" parameterClass="java.util.Map"> >> update user_approvers >> set iams_id = #new.iamsId:VARCHAR#, >> set region_name = #new.regionName:VARCHAR#, >> division_name = #newdivisionName:VARCHAR#, >> isactive = #new.isActive:VARCHAR# >> where iams_id = #old.iamsId:VARCHAR# >> and region_name = #old.regionName:VARCHAR# >> and division_name=#old.divisionName:VARCHAR# >> and isactive=#old.iamsId:VARCHAR# >> </update> >> >> I am passing a map that has 2 objects which is coming from my bean, the >> keys are "old" and "new" and each have a userApprover object as the value. >> Map<String, UserApprover> param = new HashMap<String, UserApprover>(); >> >> So when I put: #new.iamsId:VARCHAR# will the sqlmap be able to understand >> that it needs to go inside the map and pull the property from the bean? >> >> I am getting the following error when I use it this way: >> >> 09/08/25 11:29:40 com.ibatis.common.jdbc.exception.NestedSQLException: >> --- The error occurred in sqlmap/userapprover_sqlMap.xml. >> --- The error occurred while applying a parameter map. >> --- Check the updateUserApprover-InlineParameterMap. >> --- Check the statement (update failed). >> --- Cause: java.sql.SQLException: ORA-01747: invalid user.table.column, >> table.column, or column specification >> >> The other way is that I can completely forget about my bean and just put >> everything into my map as <String, String>, but I dont think that is a very >> nice thing to do... any suggestions please? >> >> Thanks, >> Anoop >> >> >> On Mon, Aug 24, 2009 at 10:02 AM, Anoop kumar V <anoopkum...@gmail.com>wrote: >> >>> I understand. Thank you very much. >>> >>> -Anoop >>> >>> >>> >>> On Mon, Aug 24, 2009 at 9:20 AM, Larry Meadors >>> <larry.mead...@gmail.com>wrote: >>> >>>> Not if those values can change. >>>> >>>> If they are immutable, then that makes it easier, because you can >>>> update based on them. >>>> >>>> Larry >>>> >>>> >>>> On Mon, Aug 24, 2009 at 7:10 AM, Anoop kumar V<anoopkum...@gmail.com> >>>> wrote: >>>> > Thanks Larry. I think your suggestion will work, but I was hoping >>>> > there was an ibatis way of handling this - or that I could use the >>>> > database specific rownum or something similar. >>>> > >>>> > Would it make a big difference if the table had a composite key, such >>>> > that no 2 rows have exactly the same column values? >>>> > >>>> > Thanks again, >>>> > Anoop >>>> > >>>> > On 8/23/09, Larry Meadors <larry.mead...@gmail.com> wrote: >>>> >> You can do it a few ways, I think I'd put the old values and new >>>> >> values in a bean, then put those beans in a map and call them "old" >>>> >> and "new". >>>> >> >>>> >> Pass that map to the update and change it to this: >>>> >> >>>> >> <update id="updateUserApprover"> >>>> >> update user_approvers set region_name = #new.region:VARCHAR#, >>>> >> division_name = #new.division:VARCHAR#, >>>> >> where user = #old.user:VARCHAR# >>>> >> and region = #old.region:VARCHAR# >>>> >> and division=#old.division:VARCHAR# >>>> >> </update> >>>> >> >>>> >> Larry >>>> >> >>>> >> --------------------------------------------------------------------- >>>> >> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >>>> >> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>>> >> >>>> >> >>>> > >>>> > >>>> > -- >>>> > >>>> > Thanks, >>>> > Anoop >>>> > >>>> >>> >>> >> >