How to process user defined functions incorporated in declarative query languages efficiently is an important aspect of query optimization. The problem of several user-defined functions in a query clause hasn't been solved in the former researches. There isn't a proposal in these researches that can be implemented easily. In this paper, a 3-stage optimization plan is put forward, which has the potency of processing several user-defined functions in a query clause: firstly, rewrite user-defined functions equivalently in the form of interval constraints; secondly, stratify the constraints and eliminats the redundant ones; finally, select the optimal execution strategy. This plan has the virtue of easy implementation and higher efficiency. Especially when the user-defined functions imply join conditions of several tables, this plan can get an obvious optimization result.