Many good solutions have been provided already. However, if he text is provided in a very simple comma delimited format or similar, and speed is of importance, then I have for you a solution with a TABLE
function (in PL/SQL). I have also provided a rundown of some other solutions.
Please see more on the Blog Entry on Parsing a CSV into multiple columns.