Credo che non esista alcuna soluzione diversa dallo scrivere il codice per eseguire la procedura "manualmente".

A parte questo, non hai scritto qual è il tuo problema con il codice che hai postato. Funziona oppure no? Cosa non riesci ad ottenere?

Snoccioliamo il problema e risolviamolo a piccoli passi, poichè non ho il tempo di scriverti una procedura ad hoc (altrimenti i miei clienti avrebbero qualcosa da dire...).

Ciao!