It is a little hard to identify errors when writing dynamic sql since it compiles and displays errors during the execution of the procedure. I usually create a dummy table having a colum varchar(2000). At the early stage of testing of my procedure I comment 'execute immidiate' line out and write a simple inset statement containing a syntax to insert my DML statement into my dummy table. Since I am pretty familiar with that type of statements I can identify all my errors when I retreive data from the dummy table. This method decreases my developement time.