How to get more than one SQL table data using MATLAB?
이전 댓글 표시
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
2023년 8월 16일
Hi,
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
results = executeSQLScript(conn, 'GetData.sql');
댓글 수: 9
Monkey Coder
2023년 8월 16일
Florian Bidaud
2023년 8월 16일
can you show the output of writing curs in the commmand window ?
Monkey Coder
2023년 8월 16일
Florian Bidaud
2023년 8월 16일
what if you do [curs1, curs2, curs3] =exec(conn, 'GetData'); ?
Monkey Coder
2023년 8월 16일
Florian Bidaud
2023년 8월 16일
And with your first command do you get TableA or TableC as as the output ?
Monkey Coder
2023년 8월 16일
Florian Bidaud
2023년 8월 16일
I think the only way to do it like you want is by using this method : https://uk.mathworks.com/matlabcentral/answers/96318-how-can-i-query-a-database-to-extract-data-from-multiple-tables
Monkey Coder
2023년 8월 16일
카테고리
도움말 센터 및 File Exchange에서 Import Data Programmatically에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!