Hey Chris,
removeFirstPrepend would not make sense where you have it specified. It
would be specified on the dynamic tag. The idea being that the first child
tag to generate a prepend would be silenced. However, the dynamic tag does
this by default. You shouldn't need the removeFirstPrepend in this case. Try
removing the open attribute on the dynamic tag with a prepend. In the end it
should look like...
<procedure id="listCustomer" parameterClass="Customer"
resultMap="CustomerResult">
{ call ${listCustomer_sp}
<dynamic prepend="(" close=")">
<isNotEmpty property="customerNumber" prepend=",">
@CustomerNumber =
#customerNumber,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
</isNotEmpty>
<isNotEmpty property="customerName" prepend=",">
@CustomerName =
#customerName,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
</isNotEmpty>
<isNotEmpty property="customerClass" prepend=",">
@CustomerClass =
#customerClass,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
</isNotEmpty>
...
Let me know if that works,
Brandon Goodin
On Wed, Apr 23, 2008 at 7:04 PM, <[EMAIL PROTECTED]> wrote:
>
> I'm having some trouble with the syntax of removeFirstPrepend. I have a
> procedure that I am attempting to invoke and all of the parameters are
> optional. SO I've embedded the content within the dynamic tag as documented
> and specified on each conditional element removeFirstPrepend="true", but the
> first content that is included does not get its prepend character ","
> removed and the SQL is invalid.
>
> What am I missing?
> Thanks...
>
> <procedure id="listCustomer" parameterClass="Customer" resultMap=
> "CustomerResult">
> { call ${listCustomer_sp}
> <dynamic open="(" close=")">
> <isNotEmpty property="customerNumber" prepend=","
> removeFirstPrepend="true">
> @CustomerNumber =
> #customerNumber,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
> </isNotEmpty>
> <isNotEmpty property="customerName" prepend="," removeFirstPrepend
> ="true">
> @CustomerName =
> #customerName,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
> </isNotEmpty>
> <isNotEmpty property="customerClass" prepend=","
> removeFirstPrepend="true">
> @CustomerClass =
> #customerClass,jdbcType=VARCHAR,javaType=java.lang.String,mode=IN#
> </isNotEmpty>
> .....
>
>
>
> Chris Mathrusse
> [EMAIL PROTECTED]
> Sybase, Inc
> One Sybase Drive
> Dublin, CA 94568
> (925) 236-5553