Contents
1 커서, For루프를 사용한 간단한 검색
2 세상에서 제일 간단한 커서
3 함수의 내포
4 프로시저 내포
5 LIKE 연산자의 사용
6 %TYPE의 사용
1 커서, For루프를 사용한 간단한 검색 #
/* OPEN, FETCH, CLOSE, %FOUND등의 부분이 전혀 필요가 없다. RPAD()는 2번째 매개변수에 명시한 숫자만큼 3번째 매개변수 글자를 채워준다. */ DECLARE CURSOR cur_emp IS SELECT empno, ename, deptno FROM emp;BEGIN DECLARE row_count PLS_INTEGER ; BEGIN DBMS_OUTPUT . PUT_LINE( RPAD ( 'empno' , 5 , ' ' ) || ' ' || RPAD ( 'ename' , 10 , ' ' ) || ' ' || RPAD ( 'deptno' , 6 , ' ' ) ) ; DBMS_OUTPUT . PUT_LINE( '-----' || ' ' || '----------' || ' ' || '------' ) ; <> FOR cur IN cur_emp LOOP --empno : 4, ename : 10, deptno : 2 DBMS_OUTPUT . PUT_LINE( RPAD ( cur. empno, 4 , ' ' ) || ' ' || RPAD ( cur. ename, 10 , ' ' ) || ' ' || RPAD ( cur. deptno, 2 , ' ' ) ) ; row_count := cur_emp% ROWCOUNT; --For 루프에서는 묵시적으로 커서를 닫고 여는 작업을 --반복하기 때문에 이와같이 사용해야 한다. END LOOP cursor_loop; DBMS_OUTPUT . PUT_LINE( '' ) ; DBMS_OUTPUT . PUT_LINE( 'ROW COUNT : ' || row_count) ; END ; END ;/ ==== 결과 ==== empno ename deptno ----- ---------- ------ 7369 SMITH 20 7499 ALLEN 30 7521 WARD 30 7566 JONES 20 7654 MARTIN 30 7698 BLAKE 30 7782 CLARK 10 7788 SCOTT 20 7839 KING 10 7844 TURNER 30 7876 ADAMS 20 7900 JAMES 30 7902 FORD 20 7934 MILLER 10 ROW COUNT : 14 PL/ SQL 처리가 정상적으로 완료되었습니다. * IE���� �ҽ� ����� �ٹٲ� �ȵ�. MS-Word � �ٿ� ��������. �ٹٲ� �Ǵ� ������: Chrome , Opera , Safari
2 세상에서 제일 간단한 커서 #
* IE���� �ҽ� ����� �ٹٲ� �ȵ�. MS-Word � �ٿ� ��������. �ٹٲ� �Ǵ� ������: Chrome , Opera , Safari
3 함수의 내포 #
--함수를 정의 한다.
--스크립트이므로 사용할 함수를 미리 정의해야 한다.
fn_result := iifn( 2 > 1 , 1 , 0) ;
* IE���� �ҽ� ����� �ٹٲ� �ȵ�. MS-Word � �ٿ� ��������. �ٹٲ� �Ǵ� ������: Chrome , Opera , Safari
4 프로시저 내포 #
--입력된 숫자를 뒤바꾸는 프로시저
temp_num := num_one;
num_one := num_two;
num_two := temp_num;
f_num := 10 ;
s_num := 20 ;
swapn( f_num, s_num) ;
* IE���� �ҽ� ����� �ٹٲ� �ȵ�. MS-Word � �ٿ� ��������. �ٹٲ� �Ǵ� ������: Chrome , Opera , Safari
5 LIKE 연산자의 사용 #
--날짜중에 월만 가져오게 하는 함수
--예외처리는 공부목적으로 해 놓았다.
DBMS_OUTPUT . put_line
( '날짜 형식이 일치하지 않습니다. yyyy-mm-dd 형식으로 맞춰주십시오' ) ;
--SELECT fn_return_month(SYSDATE) FROM dual;
* IE���� �ҽ� ����� �ٹٲ� �ȵ�. MS-Word � �ٿ� ��������. �ٹٲ� �Ǵ� ������: Chrome , Opera , Safari
6 %TYPE의 사용 #
--사장은 사업이 잘되어 전 사원에게 월급의 30%를 성과금으로 주기로 했다.
--emp.sal 컬럼이 언제 변할지 모르므로 %type형으로 선언하였다.
RETURN sal
* sal_percent
* 0.01 ;
--SELECT empno, ename, ufn_stock_option(sal, 30) "stock option" FROM emp;
* IE���� �ҽ� ����� �ٹٲ� �ȵ�. MS-Word � �ٿ� ��������. �ٹٲ� �Ǵ� ������: Chrome , Opera , Safari