Oracle 기본정리 - Cursor 예제
프로그래밍 정리/Oracle
2019. 12. 4. 16:29
반응형
Oracle 기본정리 - Cursor 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | ---------------------------------------------------------- --커서 설명 declare cursor emp_cursor is --커서안에 테이블 결과 값을 넣음 select empno,ename,sal from emp order by sal; emp_rec emp_cursor%rowtype; begin open emp_cursor; --커서 열기 ( 검색된 결과 첫번째 열, 첫번째 행 위치를 가리킴) loop fetch emp_cursor into emp_rec; -- emp_cursor로 검색된 "한 줄씩" emp_rec에 값을 넣음 exit when emp_cursor%notfound; -- 자료가 없으면 빠져나옴 dbms_output.put_line(emp_rec.empno --%NOTFOUND 자료가 모두 fetch 됐다면 TRUE || ' ' || emp_rec.ename --%found 자료가 fetch 되지 않았다면 TRUE || ' ' || emp_rec.sal); --%isopen 커서가 OPEN 상태라면 TRUE end loop; --커서는 닫아줘야함 --%ROWCOUNT 커서가 세어 온 레코드 갯수 close emp_cursor; end; ----------------------------------------------------------------- --커서 : for문을 이용해보자 create or replace procedure getdept(a number) is cursor emp_cursor is --커서안에 테이블 결과 값을 넣음 select empno,ename,sal from emp where deptno=a order by sal; begin for emp_rec in emp_cursor loop --for문으로 돌리면 loop-fetch 문보다 간편함 dbms_output.put_line(emp_rec.empno || ' ' || emp_rec.sal); end loop; end; exec getdept(10); | cs |
반응형
'프로그래밍 정리 > Oracle' 카테고리의 다른 글
오라클,mysql - 페이징 쿼리 (0) | 2020.01.18 |
---|---|
Oracle 기본정리 - trigger 예제 (0) | 2019.12.04 |
Oracle 기본정리 - Procedure(if,for,while,in,out 예제) (0) | 2019.12.04 |
Oracle 기본정리 - Declare, Procedure 문제 (0) | 2019.12.04 |
Oracle 기본정리 - Declare, Procedure 기본 (0) | 2019.12.04 |