logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

불친절한 PL/SQL 프로그래밍

불친절한 PL/SQL 프로그래밍

(기본 개념에서 고급 기능까지 오라클 PL/SQL의 바이블)

정희락 (지은이)
  |  
DBian(디비안)
2021-04-12
  |  
40,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 38,000원 -5% 0원 1,200원 36,800원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

불친절한 PL/SQL 프로그래밍

책 정보

· 제목 : 불친절한 PL/SQL 프로그래밍 (기본 개념에서 고급 기능까지 오라클 PL/SQL의 바이블)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > Oracle
· ISBN : 9791196395780
· 쪽수 : 912쪽

책 소개

'불친절한 SQL 프로그래밍'에 이은 두 번째 오라클 프로그래밍 바이블 시리즈다. 전작과 마찬가지로 기본 개념에서 고급 기능까지 오라클 PL/SQL의 거의 모든 내용을 다루고 있다. 1부 기본 개념, 2부 기초 문법, 3부 저장 유닛, 4부 고급 기능으로 내용을 구성했다.

목차

서문 _ 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

저자소개

정희락 (지은이)    정보 더보기
現) 주식회사 디비안 수석 컨설턴트 前) 에프앤자산평가, 에프앤가이드, 비투엔 광운대학교에서 컴퓨터 공학을 전공했다. 2007년부터 에프앤가이드에서 데이터베이스 개발자로 근무했고, 자회사인 에프앤자산평가에서 TA 업무를 담당했다. 비투엔으로 이직한 2011년부터 데이터 컨설턴트로 일하기 시작했고, 현재는 디비안에서 수석 컨설턴트로 재직하고 있다. 대외적으로는 한국데이터산업진흥원에서 주관하는 국가공인 SQLP, DAP 자격검정 전문위원으로 활동하고 있다. 데이터베이스 기술, 시스템 최적화, 애플리케이션 개발에 관심이 많다. 틈틈이 DB 기술 블로그(hrjeong.tistory.com)를 운영하고 있으며, 저서로 "불친절한 SQL 프로그래밍"을 집필했다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책