월요일도 왠만하면 늦지 말자
%TYPE:
- 변수명 테이블명.컬럼명 %TYPE;
%ROWTYPE:
- 변수명 레코드명%ROWTYPE; –선언
- 변수명 := 변수명.컬럼명; — 사용
패키지: 처음 불러들일 때 패키지 전체가 로드되어 메모리에 캐쉬됨. 이후의 콜에서는 디스크IO가 감소됨.
컬렉션: 벌크 SQL 사용으로 성능 높은 기능 제공
레코드:
- 여러 데이터형 포함 가능. 단일 파라미터로 서브 프로그램에 그 항목들을 전달할 수 있다.
- %ROWTYPE을 사용하여 여러 결과를(레코드) 선언 가능.
오브젝트: 객체지향? 프로그래밍의 가능성.
저장 프로시저: SQL*Plus에서 Standalone 프로시저를 콜하는 법:
call award_bonus(179, 1000);
--또는
BEGIN
award_bonus(179, 1000);
END;
식별자: ” “로 감싸는 것도 가능
선언: DECLARE 내에
- 변수명 타입 := 4000; (DEFAULT와 비슷)
- 변수명 타입 NOT NULL := 9999; (이후 NULL 대입 불가)
alias 사용: 문자 결합 등으로 별명을 붙여서 사용 가능.
FOR item IN
( SELECT f_name || ' ' || last_name complete_name
FROM ... )
LOOP
...
(item.complete_name);
END LOOP;
대소문자 구별: 상수, 변수, 파라미터 이름에 대소문자 구별 안 함(식별자도 마찬가지)
루프에는 라벨을 사용:
<<outer_loop>>
FOR i IN ...
<<inner_loop>>
FOR i IN ...
IF outer_loop.i = 2 THEN
...
inner_loop.i
...
END IF;
END LOOP inner_loop;
END LOOP outer_loop;
다른 사람이 만든 소스 + 설계서 확인
겁나 길었다. 다음 주 월요일만 잘 보내면 드디어 내 컴퓨터가 생긴다. 으아~!