A cursor data type is how Oracle manages recordsets. Usually a cursor contains the result set of a query run in a PL/SQL program. If I remember right, SQL Server T-SQL procedures return results of a query by default. Therefore all you need to do is make sure that the query you want the results from is the last thing executed by the procedure, so the results can be returned correctly. You probably can delete the varchar(8000) variables.