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

6 ビュー (過去 30 日間)
Monkey Coder
Monkey Coder 2023 年 8 月 16 日
コメント済み: Monkey Coder 2023 年 8 月 16 日
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 件のコメント
Florian Bidaud
Florian Bidaud 2023 年 8 月 16 日
Monkey Coder
Monkey Coder 2023 年 8 月 16 日
i see, it is ok. Thanks for checking.

サインインしてコメントする。

タグ

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by