oracle递归算法