ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Iwao AVE! <haraw...@gmail.com>
Subject Re: ibatis 3.0 - @Insert with Insert select fails
Date Thu, 11 Mar 2010 00:24:47 GMT
'USER' is a reserved word.
It would be possible to use doublequotes to escape it (not sure).

Regards,
Iwao

On 2010/03/11, at 8:41, marksomaha <mark.stevens@dtn.com> wrote:

>
> Thanks for the quick reply Nahtan!
>
> However, it is still giving the same "invalid Table name" error.
> Here is the modified annotation per your suggestion.
>    @Insert("insert into USER (USERID, USERNAME, PASSWORD,  
> SERVER_GROUP) " +
>            "select ${trgUserId}, USERNAME, PASSWORD, SERVER_GROUP " +
>            "from USER where USERID =
> #{srcUserId,javaType=int,jdbcType=INTEGER}")
> Did I miss something?
>
>
> nmaves wrote:
>>
>> Sure do :)  Great error message eh....
>>
>> use ${trgUserId} in the select portion and leave #{trgUserId} in  
>> the where
>> clause.   # infers a true jdbc parameter which are not allowed in the
>> select
>> portion of a statement.
>>
>> Nahtan
>>
>> On Wed, Mar 10, 2010 at 4:28 PM, marksomaha <mark.stevens@dtn.com>  
>> wrote:
>>
>>>
>>> I am trying to do a insert that copies rows from an existing user.
>>> Essentially cloning a user, but change userid for the new record.
>>>
>>> Here is the syntax:
>>>   @Insert("insert into USER (USERID, USERNAME, PASSWORD,  
>>> SERVER_GROUP) "
>>> +
>>>           "select #{trgUserId,javaType=int,jdbcType=INTEGER},  
>>> USERNAME,
>>> PASSWORD, SERVER_GROUP " +
>>>           "from USER where USERID =
>>> #{srcUserId,javaType=int,jdbcType=INTEGER}")
>>>   void cloneUser(final int trgUserId, final int srcUserId);
>>>
>>> When I try this syntax, I get the following error back:
>>>
>>> org.apache.ibatis.exceptions.IbatisException:
>>> ### Error updating database.  Cause: java.sql.SQLException:  
>>> ORA-00903:
>>> invalid table name
>>>
>>> ### The error may involve testibatis3.UserMapper.cloneUser-Inline
>>> ### The error occurred while setting parameters
>>> ### Cause: java.sql.SQLException: ORA-00903: invalid table name
>>>
>>>       at
>>>
>>> org.apache.ibatis.exceptions.ExceptionFactory.wrapException 
>>> (ExceptionFactory.java:8)
>>>       at
>>>
>>> org.apache.ibatis.session.defaults.DefaultSqlSession.update 
>>> (DefaultSqlSession.java:100)
>>>       at
>>>
>>> org.apache.ibatis.session.defaults.DefaultSqlSession.insert 
>>> (DefaultSqlSession.java:87)
>>>       at
>>> org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:54)
>>>       at
>>> org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:35)
>>>
>>> Any ideas as to what would cause an "Invalid table name"?  The USERS
>>> table
>>> exists and I have verified the SQL statement in SQLPLUS.
>>> --
>>> View this message in context:
>>> http://old.nabble.com/ibatis-3.0---%40Insert-with-Insert-select-fails-tp27857358p27857358.html
>>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com 
>>> .
>>>
>>>
>>> --- 
>>> ------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://old.nabble.com/ibatis-3.0---%40Insert-with-Insert-select-fails-tp27857358p27857465.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message