[oracle] cursor를 이용한 loop 돌리기
안녕하세요.
오늘은 오라클에 대한 포스팅입니다.
어떠한 데이터를 select 하여 loop를 돌리며 그 데이터들을 활용해보도록 하겠습니다.
기본 템플릿이니 가져다가 쓰시면 됩니다.
CREATE OR REPLACE Function fun_getTest(v_test VARCHAR)
RETURN VARCHAR
IS
cursor c1 IS
SELECT s_test FROM testTable WHERE use_yn = 'Y';
v_index NUMBER;
v_values VARCHAR(2000);
BEGIN
v_values := '';
v_index := 1;
for item in c1
loop
if v_index = 1 then
v_values := '''' || item.s_test || '''';
else
v_values := v_values || ',' || '''' || item.s_test|| '''';
end if;
v_index := v_index + 1;
end loop;
return v_values;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Exception Occurred! (' || SQLCODE || ') : ' || SQLERRM);
return '';
END;
cursor 부분을 유의깊게 보세요.
어떠한 테이블에서 컬럼을 select 해 옵니다.
그리고
loop문에서 활용하는 형식입니다.
item이라는 건 임의의 변수입니다.
활용한 예시를 보면
item.컬럼<<< 형식으로 활용하시면 됩니다.
감사합니다.
'개발 > DB' 카테고리의 다른 글
[오라클]oracle 여러 테이블 컬럼 select (union all) (0) | 2018.02.14 |
---|---|
[오라클]트리거 생성, 삭제 (0) | 2018.02.09 |
postgresql select 해서 update 하기 (join 활용) (0) | 2017.12.15 |
[posgreSql] pgAdmin을 이용하여 데이터 백업 및 복구하기 (2) | 2017.11.13 |
postgresql loop update 함수 만들기 (0) | 2017.10.10 |
오라클 ORU-10027: buffer overflow, limit of 20000 (0) | 2017.08.29 |
오라클 외부접속 허용 tnsnames, listener (4) | 2017.08.23 |