How can I work with an Oracle SQL function which returns a REF CURSOR in Database Toolbox 3.5.1 (R2009a)?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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?
Réponse acceptée
MathWorks Support Team
le 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
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Database Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!