How to get more than one SQL table data using MATLAB?

8 次查看(过去 30 天)
I have stored procedure which returns three tables output. Somehow MATLAB code ony shows first table output. Is there anyway I can retrieve the second and third table output?
SQL Store Procedure:
CREATE PROCEDURE [dbo].[GetData]
@ID int
AS
BEGIN
SELECT Top 10 * FROM TableA
SELECT Top 10 * FROM TableB
SELECT Top 10 * FROM TableC
END
MATLAB code:
setdbprefs('DataReturnFormat','cellarray');
curs = exec(conn, 'GetData');
curs = fetch(curs);
outputdata = curs.Data;
close(curs);

回答(1 个)

Florian Bidaud
Florian Bidaud 2023-8-16
Hi,
First, exec is not recommended, you should use execute instead.
Plus, for select queries, it is better to use select function.
You can just loop over your commands with select:
letter = {'A' 'B' 'C'}
for i = 1:3
curs{i} = select(['SELECT Top 10 * FROM Table' letter{i}]);
end
But for running this script and get several outputs, you can use executeSQLScript.
results = executeSQLScript(conn, 'GetData.sql');
  9 个评论

请先登录,再进行评论。

标签

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by