커서를 사용하여 여러 테이블에서 데이터를 추출하는 방법
P粉141035089
2023-08-16 13:12:27
<p>다음과 같이 여러 테이블을 반환하는 쿼리가 있습니다. </p>
<pre class="brush:php;toolbar:false;">SELECT 테이블 이름, 데이터베이스 이름 +'.'+ 테이블 이름, 열 이름
DBC.열에서
WHERE ColumnName = 'id'</pre>
<p>특정 테이블만 가져오려면 테이블에 저장된 정보를 확인하여 테이블 전체를 반복해야 합니다. </p>
<p>'LOOP'와 커서를 사용하여 아래 코드를 시도했지만 <code>잘못된 쿼리</code>라고 표시됩니다(코드는 여기에서 제공됨). </p>
<pre class="brush:php;toolbar:false;">DECLARE 커서_테이블 CURSOR FOR
SELECT 데이터베이스 이름 ||
DBC.열에서
WHERE ColumnName = 'id';
OPEN 커서_테이블;
라벨1:
고리
커서_테이블을 tbName으로 가져옵니다.
IF (SQLSTATE ='02000') THEN
라벨1을 떠나세요;
종료하면;
경우 (
개수 선택(*)
prd3_db_tmd.K_PTY_NK01에서
id = 0 ) >
그런 다음 tbName
끝
END LOOP 라벨1;
CLOSE 커서_테이블;
END;</pre>
<p>이 문제를 어떻게 해결해야 하나요? 추가 저장 프로시저를 사용해야 합니까? DBMS는 테라데이타입니다. </p>
이것이 SQL Server라면 다음 SQL Cursor를 보면 됩니다. 커서 선언과 그 안의 코드를 편집했습니다. 귀하의 요구 사항과 다를 수 있지만 쉽게 수정할 수 있다고 생각합니다
으아악Teradata에서 커서를 사용할 수 있는 유일한 장소이므로 저장 프로시저가 필요합니다.
으아악