책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > Oracle
· ISBN : 9791196395780
· 쪽수 : 912쪽
책 소개
목차
서문 _ xviii
구성 _ xx
표기 방식 _ xxii
명명 규칙 _ xxiv
실습 환경 _ xxvi
참고 자료 _ xxviii
1부 기본 개념 _ 1
1. 소개 _ 3
1.1 역사 _ 4
1.2 특징 _ 5
1.3 블록 구조 _ 6
1.3.1 익명 블록 _ 7
1.3.2 명명 블록 _ 7
1.3.3 중첩 블록 _ 9
1.4 처리 과정 _ 10
1.5 수행 과정 _ 11
2. 구성 요소 _ 13
2.1 캐릭터 셋 _ 14
2.2 문법 단위 _ 15
2.2.1 구분자 _ 15
2.2.2 식별자 _ 16
2.2.3 리터럴 _ 20
2.2.4 프라그마 _ 25
2.2.5 주석 _ 26
3. 선언 _ 27
3.1 변수 _ 28
3.2 상수 _ 30
3.3 %TYPE 속성 _ 32
3.4 범위 _ 33
3.5 가시성 _ 34
4. 데이터 타입 _ 37
4.1 사전 정의 데이터 타입 _ 38
4.1.1 문자 타입 _ 38
4.1.2 숫자 타입 _ 41
4.1.3 날짜 타입 _ 45
4.1.4 이진 타입 _ 49
4.1.5 ROWID 타입 _ 49
4.1.6 불리언 타입 _ 50
4.2 사용자 정의 서브 타입 _ 50
4.2.1 제한 서브 타입 _ 50
4.2.2 무제한 서브 타입 _ 51
4.3 데이터 변환 _ 52
5. 표현식 _ 55
5.1 연산자 _ 56
5.1.1 산술 연산자 _ 56
5.1.2 결합 연산자 _ 58
5.1.3 비교 연산자 _ 59
5.1.4 논리 연산자 _ 62
5.1.5 연산자 우선순위 _ 64
5.2 SQL 함수 _ 65
5.3 시퀀스 _ 66
6. 제어문 _ 69
6.1 조건문 _ 69
6.1.1 IF 문 _ 69
6.1.2 CASE 문 _ 72
6.1.3 고려 사항 _ 75
6.2 반복문 _ 77
6.2.1 LOOP 문 _ 77
6.2.2 WHILE LOOP 문 _ 79
6.2.3 FOR LOOP 문 _ 81
6.2.4 레이블 _ 84
6.2.5 고려 사항 _ 85
6.3 순차문 _ 86
6.3.1 GOTO 문 _ 86
6.3.2 NULL 문 _ 87
2부 기초 문법 _ 89
7. 레코드 _ 91
7.1 선언 _ 92
7.1.1 레코드 타입 _ 92
7.1.2 %ROWTYPE 속성 _ 97
7.1.3 %TYPE 속성 _ 97
7.1.4 한정 표현식 _ 98
7.2 할당 _ 99
7.3 비교 _ 100
8. 컬렉션 _ 103
8.1 선언 _ 104
8.1.1 컬렉션 타입 _ 104
8.1.2 %TYPE 속성 _ 110
8.1.3 다차원 컬렉션 _ 110
8.1.4 한정 표현식 _ 113
8.2 할당 _ 114
8.2.1 MULTISET 연산자 _ 115
8.3 비교 _ 116
8.3.1 MULTISET 조건 _ 117
8.4 컬렉션 메소드 _ 118
8.5 조회 _ 126
8.6 컬렉션 함수 _ 127
8.7 TABLE 컬렉션 표현식 _ 133
9. 커서 _ 135
9.1 암시적 커서 _ 137
9.1.1 SELECT INTO 문 _ 137
9.1.2 CURSOR FOR LOOP 문 _ 142
9.2 명시적 커서 _ 145
9.2.1 선언 _ 145
9.2.2 조회 _ 147
9.3 커서 변수 _ 154
9.3.1 선언 _ 154
9.3.2 할당 _ 155
9.3.3 조회 _ 156
9.3.4 호스트 커서 변수 _ 159
9.3.5 고려 사항 _ 161
9.4 커서 표현식 _ 164
10. DML 문 _ 169
10.1 기본 구문 _ 170
10.1.1 INSERT 문 _ 170
10.1.2 UPDATE 문 _ 171
10.1.3 DELETE 문 _ 173
10.1.4 MERGE 문 _ 173
10.1.5 DML 에러 로깅 _ 176
10.2 RETURNING INTO 절 _ 179
10.2.1 INTO 절 _ 179
10.2.2 BULK COLLECT INTO 절 _ 183
10.3 FORALL 문 _ 184
10.3.1 기본 구문 _ 186
10.3.2 INDICES OF 절 _ 191
10.3.3 VALUES OF 절 _ 192
10.3.4 SAVE EXCEPTIONS 절 _ 193
11. TCS 문 _ 195
11.1 기본 구문 _ 196
11.1.1 COMMIT 문 _ 196
11.1.2 ROLLBACK 문 _ 199
11.1.3 SAVEPOINT 문 _ 200
11.1.4 SET TRANSACTION 문 _ 201
11.1.5 LOCK TABLE 문 _ 202
11.2 FOR UPDATE 절 _ 202
11.3 자율 트랜잭션 _ 206
12. 예외 _ 209
12.1 유형 _ 211
12.1.1 내부 정의 예외 _ 211
12.1.2 사전 정의 예외 _ 2013
12.1.3 사용자 정의 예외 _ 216
12.2 예외 발생 _ 218
12.2.1 RAISE 문 _ 218
12.2.2 RAISE_APPLICATION_ERROR 프로시저 _ 219
12.3 예외 전파 _ 221
12.4 DBMS_UTILITY 패키지 _ 222
12.5 UTL_CALL_STACK 패키지 _ 225
12.5.1 에러 스택 _ 226
12.5.2 백트레이스 _ 228
12.5.3 콜 스택 _ 229
12.6 활용 예제 _ 232
3부 저장 유닛 _ 237
13. 프로시저 _ 239
13.1 유형 _ 240
13.1.1 중첩 프로시저 _ 240
13.1.2 저장 프로시저 _ 242
13.2 파라미터 _ 243
13.2.1 방식 _ 245
13.2.2 NOCOPY 키워드 _ 250
12.2.3 인수 표기법 _ 252
12.2.4 기술 순서 _ 253
13.3 오버로딩 _ 254
13.4 전방 선언 _ 256
13.5 정보 조회 _ 257
13.6 고려 사항 _ 260
13.6.1 날짜 처리 _ 260
13.6.2 트랜잭션 처리 _ 261
14. 함수 _ 269
14.1 유형 _ 271
14.1.1 중첩 함수 _ 271
14.1.2 저장 함수 _ 273
14.2 파라미터 _ 277
14.3 오버로딩 _ 278
14.4 옵션 _ 279
14.4.1 DETERMINISTIC _ 279
14.4.2 RESULT_CACHE _ 282
14.4.3 PIPELINED _ 285
14.4.4 PARALLEL_ENABLE _ 286
13.5 정보 조회 _ 288
14.6 고려 사항 _ 288
14.6.1 문맥 전환 _ 288
14.6.2 Recursive Call _ 290
14.6.3 읽기 일관성 _ 292
14.6.4 자율 트랜잭션 _ 294
15. 패키지 _ 299
15.1 요소 _ 301
15.1.1 프로시저 _ 302
15.1.2 함수 _ 305
15.1.3 변수 _ 306
15.1.4 상수 _ 309
15.1.5 커서 _ 310
15.1.6 타입 _ 314
15.1.7 예외 _ 322
15.2 초기화 섹션 _ 323
15.3 SERIALLY_REUSABLE 프라그마 _ 324
15.4 DBMS_SESSION 패키지 _ 329
15.5 정보 조회 _ 335
15.6 활용 예제 _ 339
16. 트리거 _ 343
16.1 DML 트리거 _ 345
16.1.1 단순 DML 트리거 _ 345
16.1.2 INSTEAD OF DML 트리거 _ 364
16.1.3 복합 DML 트리거 _ 366
16.2 시스템 트리거 _ 370
16.2.1 데이터베이스 트리거 _ 371
16.2.2 스키마 트리거 _ 373
16.2.3 INSTEAD OF CREATE 트리거 _ 374
16.2.4 이벤트 속성 함수 _ 375
16.3 활용 예제 _ 394
17. 권한 관리 _ 407
17.1 오브젝트 권한 _ 408
17.2 AUTHID 속성 _ 410
17.2.1 정의자 권한 _ 411
17.2.2 호출자 권한 _ 415
17.2.3 권한 우선순위 _ 418
17.3 BEQUEATH 절 _ 420
17.3.1 관련 함수 _ 422
17.4 코드 기반 접근 제어 _ 423
17.5 권한 상속 _ 427
17.5.1 INHERIT PRIVILEGES 권한 _ 427
17.5.2 INHERIT REMOTE PRIVILEGES 권한 _ 430
17.6 ACCESSIBLE BY 절 _ 431
18. 코드 관리 _ 435
18.1 오브젝트 종속성 _ 435
18.1.1 종속성 _ 435
18.1.2 무효화 _ 438
18.1.3 UTL_RECOMP 패키지 _ 444
18.1.4 DBMS_UTILITY 패키지 _ 445
18.2 컴파일 파라미터 _ 446
18.2.1 PLSQL_OPTIMIZE_LEVEL 파라미터 _ 448
18.2.2 PLSQL_CODE_TYPE 파라미터 _ 451
18.2.3 PLSQL_DEBUG 파라미터 _ 452
18.2.4 PLSQL_WARNINGS 파라미터 _ 453
18.2.5 NLS_LENGTH_SEMANTICS 파라미터 _ 461
18.3 조건부 컴파일 _ 463
18.3.1 선택 지시어 _ 463
18.3.2 에러 지시어 _ 465
18.3.3 조회 지시어 _ 466
18.3.4 DBMS_DB_VERSION 패키지 _ 478
18.3.5 DBMS_PREPROCESSOR 패키지 _ 472
18.4 PL/Scope _ 474
18.5 소스 코드 래핑 _ 479
18.5.1 warp 명령어 _ 480
18.5.2 DBMS_DDL 패키지 _ 481
4부 고급 기능 _ 485
19. 동적 SQL _ 487
19.1 NDS 방식 _ 488
19.1.1 EXECUTE IMMEDIATE 문 _ 488
19.1.2 OPEN FOR, FETCH, CLOSE 문 _ 497
19.1.3 동적 조건 _ 499
19.1.4 리터럴 SQL _ 503
19.2 DBMS_SQL 패키지 _ 507
19.2.1 기본 예제 _ 507
19.2.2 배열 처리 _ 516
19.2.3 정보 조회 _ 521
19.2.4 커서 변환 _ 528
19.2.5 결과 반환 _ 530
19.2.6 패키지 타입 _ 535
20. 테이블 함수 _ 539
20.1 일반 테이블 함수 _ 540
20.2 파이프라인 테이블 함수 _ 541
20.2.1 기본 문법 _ 541
20.2.2 병렬 처리 _ 542
20.2.3 활용 예제 _ 546
20.3 다형성 테이블 함수 _ 552
20.3.1 기본 구조 _ 552
20.3.2 DBMS_TF 패키지 _ 556
20.4 SQL 매크로 _ 602
20.4.1 스칼라 방식 _ 602
20.4.2 테이블 방식 _ 604
21. 객체 타입 _ 611
21.1 기본 문법 _ 612
21.1.1 생성자 메소드 _ 613
21.1.2 멤버 메소드 _ 615
21.1.3 정적 메소드 _ 619
21.1.4 오버로딩 _ 620
21.1.5 상속 _ 622
21.1.6 오버라이딩 _ 629
21.1.7 할당 _ 630
21.1.8 정보 조회 _ 632
21.2 객체 저장 _ 633
21.2.1 관계형 테이블 방식 _ 633
21.2.2 객체 테이블 방식 _ 635
21.3 관리 구문 _ 640
21.3.1 ALTER TYPE 문 _ 641
21.3.2 DROP TYPE 문 _ 645
21.3.3 DROP TYPE BODY 문 _ 646
22. 성능 관리 _ 647
22.1 PL/SQL Profiler _ 649
22.2 PL/SQL Trace _ 652
22.3 PL/SQL Hierarchical Profiler _ 656
22.3.1 12.2 이하 버전 _ 656
22.3.2 18.3 이상 버전 _ 661
22.4 PL/SQL Code Coverage _ 664
22.5 SQL Trace _ 668
22.6 정보 설정 _ 671
23. 확장 기능 _ 675
23.1 컨텍스트 _ 676
23.2 파이프 _ 683
23.3 경고 _ 688
23.4 큐 _ 693
23.4.1 기본 예제 _ 693
23.4.2 메시지 알림 _ 697
23.5 전역 트랜잭션 _ 701
23.6 병렬 실행 _ 705
23.6.1 태스크 _ 706
23.6.2 청크 _ 707
23.6.3 실행 _ 714
23.6.4 객체 관리 _ 720
23.7 잡 _ 722
23.8 스케줄러 _ 731
23.8.1 프로그램 _ 732
23.8.2 스케줄 _ 737
23.8.3 잡 _ 743
24. 제공 패키지 _ 757
24.1 DBMS_ASSERT 패키지 _ 758
24.2 DBMS_CRYPTO 패키지 _ 761
24.2.1 암호화 _ 761
24.2.2 임의 값 _ 766
24.3 DBMS_LOB 패키지 _ 767
24.4 DBMS_METADATA 패키지 _ 776
24.4.1 기본 조회 _ 776
24.4.2 고급 조회 _ 779
24.5 DBMS_OUTPUT 패키지 _ 783
24.6 DBMS_RANDOM 패키지 _ 789
24.7 DBMS_SESSION 패키지 _ 790
24.8 DBMS_UTILITY 패키지 _ 792
24.8.1 시간 측정 _ 792
24.8.2 구문 처리 _ 793
24.8.3 이름 처리 _ 795
24.8.4 정보 조회 _ 799
24.9 OWA_OPT_LOCK 패키지 _ 802
24.10 UTL_FILE 패키지 _ 804
24.11 UTL_MATCH 패키지 _ 812
24.12 UTL_RAW 패키지 _ 814
부록 _ 817
A. 오라클 데이터베이스 설치 _ 819
B. SCOTT 스키마 _ 832
C. 오브젝트 타입명 _ 835
D. 디버깅 _ 836
E. 구분자 분리 값 _ 839
F. 칼럼 데이터 타입명 _ 844
G. SQL 함수 코드명 _ 845
H. ROWID 청크 _ 846
I. 사용자 정의 집계 함수 _ 848
J. 자바 저장 프로시저 _ 854
K. PL/SQL 선언 절 _ 857
L. 전용 임시 테이블 _ 859
찾아보기 _ 863
A. 용어 _ 865
B. 구문 _ 871
C. 제공 패키지 _ 875