반응형
마리아에서 선택문 내에 저장 프로시저를 호출할 수 있습니까?DB
MariaDB에서는 다음과 같이 SELECT 문 내에서 저장 프로시저를 호출하고자 합니다.
SELECT
CALL GetInfoForOneRow(hdp.p00)
FROM historydataprofile hdp
WHERE hdp.id IN ( 1, 22, 333)
저장 프로시저를 1, 22, 333 값별로 한 번씩 호출하고 싶습니다.두 개 이상의 열을 반환하지만 행은 하나만 반환합니다.
이게 가능할까요?대신 기능으로 가능할까요?함수로 시도해 보았지만 함수로서 운이 없으면 여러 개의 값을 반환할 수 없습니다.커서로 가능할까요?
Edit So my problem은 큰 맥락에서 역방향 피벗을 수행해야 한다는 점입니다. 즉, 하나의 행(열이 많은)으로 저장된 데이터에서 "키 값 쌍"(열이 많은) 형식의 결과 집합을 생성해야 한다는 것입니다.
그래서 제가 원하는 호출 코드는 다음과 같습니다.
SELECT GetInfoForOneRow(hdp.p00) FROM scc_historydataprofile hdp WHERE hdp.id = 1
UNION ALL
SELECT GetInfoForOneRow(hdp.p01) FROM scc_historydataprofile hdp WHERE hdp.id = 1
UNION ALL
SELECT GetInfoForOneRow(hdp.p02) FROM scc_historydataprofile hdp WHERE hdp.id = 1
UNION ALL
SELECT GetInfoForOneRow(hdp.p03) FROM scc_historydataprofile hdp WHERE hdp.id =
...
UNION ALL
SELECT GetInfoForOneRow(hdp.p99) FROM scc_historydataprofile hdp WHERE hdp.id = 1
그러나 나는 이제 위의 코드를 작동시키는 데 필요한 함수나 프로시저가 복수의 열을 반환하지 않는 것이 불가능하다는 것을 깨달았습니다.이 문제를 해결하기 위해 제 쿼리 구조를 다시 살펴봐야 할 것 같습니다.
필요하다면 새로운 질문을 올리겠습니다.
MariaDB에서 select 문 내에 저장 프로시저를 호출할 수 있습니까?
아니요, 당신이 원하는 대로는 아닙니다.
저장된 함수를 사용합니다.
또는 저장 프로시저를 작성하여 원하는 전체 결과 세트(예시의 SELECT 문 결과)를 반환합니다.
언급URL : https://stackoverflow.com/questions/57924592/can-you-call-a-stored-procedure-within-a-select-statement-in-mariadb
반응형
'programing' 카테고리의 다른 글
Spring Web MVC - 개별 요청 매개변수 검증 (0) | 2023.09.18 |
---|---|
네임스페이스(, ) - 스키마 추출에 둘 이상의 테이블이 있습니다.예외. (0) | 2023.09.14 |
Return a stream with Spring MVC's ResponseEntity (0) | 2023.09.14 |
jQuery에서 'data-sort' 속성에 따라 div를 정렬하시겠습니까? (0) | 2023.09.14 |
JavaScript를 사용하여 XML 구문 분석 (0) | 2023.09.14 |