Hast Du mal versucht einen Haltepunkt zu setzen und geschaut was die Procedure macht? Daran kannst Du sehen wo er sich dann in einer Schleife aufhängt.
Ansonsten würde ich es auch wie MrSpock schon geschrieben hat über die
Query lösen, das geht wesentlich einfacher.