As I was looking at the OpenACS 3.2.5 code for the ecommerce package, I noticed that case statements were used to replace Oracle's NVL. For instance:
case when sum(price_charged) is null then 0::numeric else sum(price_charged) end
Is that the same as:
coalesce(sum(price_charged),0::numeric)
By the way, the Oracle code used cursors. Thanks.