결과를 다른 테이블에 조인 할 수 있도록 select 문의 결과를 저장하는 방법은 무엇입니까? 이것은 또한 커서 안에 있습니다.결과를 다른 테이블에 조인 할 수 있도록 select 문의 결과를 어떻게 저장합니까?
다음은 일부 의사 코드입니다.이 예제에서는 Select 문을 간단하게 유지했지만 실제로는 여러 개의 조인이 포함 된 긴 쿼리이므로 동일한 SQL을 두 번 사용하여 두 테이블을 결합해야합니다. 꽤 길고 미래에 바뀔 수 있으므로 재사용 할 수 있기를 바랍니다.
나는 뷰를 생성하고 select 문에 결과를 저장하려고 시도했지만 커서 루프 내부에서 뷰를 만들 수없는 것처럼 보였습니다. "시도 중"심볼 "CREATE"오류가 발생했습니다. . 쿼리에서 결과를 저장하는
DECLARE TYPE cur_type IS REF CURSOR;
CURSOR PT_Cursor IS
SELECT * FROM Table1
PT_Cursor_Row PT_Cursor%ROWTYPE;
BEGIN
OPEN PT_Cursor;
LOOP
FETCH PT_Cursor INTO PT_Cursor_Row;
EXIT WHEN PT_Cursor%NOTFOUND;
Select ID From Table2 --this is actually a long complext query
INNER JOIN Table3 ON Table2.ID = Table3.ID
WHERE Table2.ID = PT_Cursor_Row.ID
Select * From Table2 --this is actually a long complext query
LEFT JOIN Table4 ON Table2.ID = Table4.ID
WHERE Table2.ID = PT_Cursor_Row.ID
END LOOP;
CLOSE PT_Cursor;
END;
왜 커서를 사용 하시겠습니까? –
테이블의 각 행에 대해 동일한 프로세스를 수행해야하기 때문에. – 03Usr
이 프로세스는 데이터베이스 내에서 또는 외부에서 발생합니까? –