this sql injection thing is harder than it looks at first. I wrote what I thought was a pretty simple routine in that same article:
</code>
https://www.oracle.com/technetwork/issue-archive/2005/05-jan/o15asktom-084959.html <code>
after submitting it to code review to about 400,000+ people -- it was pointed out that it had a sql injection issue.
In a routine like the above, unless you totally trust the source passing the string in to you -- it would be a scary proposition. You would have to virtually parse the v_where clause to make sure it contains "good stuff"
(and of course the lack of bind variables is pretty disappointing too)