How can I work with an Oracle SQL function which returns a REF CURSOR in Database Toolbox 3.5.1 (R2009a)?

3 views (last 30 days)
My SQL function in my ORACLE database returns a REF CURSOR. Can I work with this SQL CURSOR object in MATLAB? How can I execute this procudere which returns a REF CURSOR and retrieve the resulting dataset?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 2 Nov 2011
To execute the stored procedure use the EXEC function:
result = exec(conn,'SELECT my_package.my_function FROM myTable');
Then you may parse the value manually by working with the Java objects:
%%Get the java object
res = result.ResultSet;
res.next;
res = res.getObject(1);
%%Get the data from the Java object
i=1;
while res.next == 1 % For all rows
x{i,1}=res.getObject(1); % Get data from 1st column
x{i,2}=res.getObject(2); % Get data from 2nd column
% etc
i = i + 1;
end

More Answers (0)

Products


Release

R2009a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!