On this topic, my understanding has been that Oracle cannot cache the query when the parameters change.
So, when you do <cfquery> INSERT INTO MYTABLE ( MYCOLUMN <cfif Len(Trim(myAValue))>,MYACOLUMN</cfif> <cfif Len(Trim(myBValue))>,MYBCOLUMN</cfif> <cfif Len(Trim(myCValue))>,MYCCOLUMN</cfif> <cfif Len(Trim(myDValue))>,MYDCOLUMN</cfif> ) VALUES ( <cfqueryparam value="#myValue#"> <cfif Len(Trim(myAValue))>,<cfqueryparam value="#myAValue#"></cfif> <cfif Len(Trim(myBValue))>,<cfqueryparam value="#myBValue#"></cfif> <cfif Len(Trim(myCValue))>,<cfqueryparam value="#myCValue#"></cfif> <cfif Len(Trim(myDValue))>,<cfqueryparam value="#myDValue#"></cfif>] ) </cfquery> Oracle cannot cache the query if the insert statement itself changes whenever a parameter is avoided due to being null. On the other hand I think that: <cfquery> INSERT INTO MYTABLE ( MYCOLUMN ,MYACOLUMN ,MYBCOLUMN ,MYCCOLUMN ,MYDCOLUMN ) VALUES ( <cfqueryparam value="#myValue#"> <cfif Len(Trim(myAValue))>,<cfqueryparam value="#myAValue#"><cfelse>NULL</cfif> <cfif Len(Trim(myBValue))>,<cfqueryparam value="#myBValue#"><cfelse>NULL</cfif> <cfif Len(Trim(myCValue))>,<cfqueryparam value="#myCValue#"><cfelse>NULL</cfif> <cfif Len(Trim(myDValue))>,<cfqueryparam value="#myDValue#"><cfelse>NULL</cfif>] ) </cfquery> may cache properly. Does anyone have any insight into whether or not this is true? Allen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:329559 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

