Hi Dave,
CR does have a plsql to do that. I use that all of the time. But I guess you already know about this.
I think Dirk is right. Not all pages will only have one object. I don't think a url and object_id is always one to one as in the case of CR. It more likely 1 or more object per url.