Try this syntax instead INSERT INTO load_email ( content, subject, ... ) values ( #content:VARCHAR:NO_ENTRY#, #subject:VARCHAR:NO_ENTRY#, ... )
Nilesh Bhattad wrote:
Hi there,
I have the below <insert/> statement defined in a sqlmap. If ‘BlackListed’ is not passed thro the HashMap, and rest of the fields are passed in, one comma is inserted before ‘isMarried’ column and it becomes an invalid sql stmt. I tried surrounding <isNotEmpty/> with <dynamic/> tag, but that didn’t help. (not sure if <dynamic/> can be used within in insert stmt or not)
<insert id="insert" parameterClass="java.util.HashMap">
insert into Consultant(
<isNotEmpty property="BlackListed">BlackListed</isNotEmpty>
<isNotEmpty property="isMarried" prepend=",">isMarried</isNotEmpty>
<isNotEmpty property="ActiveInactive" prepend=",">ActiveInactive</isNotEmpty>
<isNotEmpty property="HomeTelephone" prepend=",">HomeTelephone</isNotEmpty>
<isNotEmpty property="OfficeTelephone" prepend=",">OfficeTelephone</isNotEmpty>
<isNotEmpty property="OfficeTelExt" prepend=",">OfficeTelExt</isNotEmpty>
) values (
<isNotEmpty property="BlackListed">#BlackListed#</isNotEmpty>
<isNotEmpty property="isMarried" prepend=",">#isMarried#</isNotEmpty>
<isNotEmpty property="ActiveInactive" prepend=",">#ActiveInactive#</isNotEmpty>
<isNotEmpty property="HomeTelephone" prepend=",">#HomeTelephone#</isNotEmpty>
<isNotEmpty property="OfficeTelephone" prepend=",">#OfficeTelephone#</isNotEmpty>
<isNotEmpty property="OfficeTelExt" prepend=",">#OfficeTelExt#</isNotEmpty>
)
<selectKey resultClass="int" keyProperty="id">SELECT @@IDENTITY as last_insert_id</selectKey>
</insert>
Would someone please help me out to find what I’m doing wrong?
Thanks
Nilesh

