'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.stev...@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.stev...@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-unsubscr...@ibatis.apache.org
For additional commands, e-mail: user-java-h...@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-unsubscr...@ibatis.apache.org
For additional commands, e-mail: user-java-h...@ibatis.apache.org


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

Reply via email to