ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From marksomaha <mark.stev...@dtn.com>
Subject Re: ibatis 3.0 - @Insert with Insert select fails
Date Wed, 10 Mar 2010 23:41:35 GMT

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


Mime
View raw message