Hi Steven,

 

The $family$ will do a literate replacement, so you would have to add ‘’ (I think J) => ‘$family$’

I would also advice to use the logging functionality to see the SQL statement created, make it much easier to see.

 

MEINDERT

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: 07 February 2006 08:33 AM
To: [email protected]
Subject: dynamic insert question

 

Dear all,

 

I want insert the table via one dynamic select, the "PartVO" is one object and it has "family" attribute, and it's type is "String",

 

  <insert id="insertFamily" parameterClass="PartVO">
    <![CDATA[
  insert into cto.partfamily (family,partnum,parttype,active_flag) select $family$,partnum,parttype,'N' from cto.partinfo where partnum in
     ]]>
 <iterate property="domain" open="(" close=")" conjunction=",">
     #domain[ ]#
 </iterate>
  </insert>

 

But it cause following error,seems the select can't get string value for "family" column, but in the "PartVO" object, I already defined its type is "String", and others are working(I use DB2 database):

Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL0408N  A value is not compatible with the data type of its assignment target.  Target name is "FAMILY".  SQLSTATE=42821
 

How can I make this function working?

 

Thanks so much for your warm-heated help!

 

Steven

 

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.2/251 - Release Date: 04/02/2006


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.2/251 - Release Date: 04/02/2006

Reply via email to