Download presentation
Presentation is loading. Please wait.
1
오라클 개요, 설치, 환경 설정, SQL*Plus, PL/SQL
ORACLE 오라클 개요, 설치, 환경 설정, SQL*Plus, PL/SQL
2
목차 I. 오라클 개요 II. 오라클 설치 및 수행 III. 환경 설정 IV. SQL*PLUS와 iSQL* PLUS V. PL/SQL
3
3. 오라클 오라클 오라클 사가 개발한 객체 관계 DBMS 가장 높은 시장 점유율과 신뢰성을 지닌 데이터베이스 관리 시스템
유닉스, 리눅스, 윈도우 등 대부분의 운영체제를 지원 PC에서 대형 기종에 이르기까지 다양한 하드웨어와 운영체제 플랫폼을 지원 엔터프라이즈 에디션, 표준 에디션, 개인용 에디션 등 3가지 에디션으로 공급됨
4
3.1 오라클 개요 오라클 개요 전자상거래와 데이터 웨어하우징을 위한 고성능의 인터넷 플랫폼을 제공
사용자가 객체 관계 데이터베이스는 물론이고, 워드 프로세서 문서, 스프레드 시트 문서, 파워포인트로 작성한 발표 자료, XML, 그래픽스, 비디오 등과 같은 멀티미디어 데이터 타입 등을 관리할 수 있음 온라인 트랜잭션 처리(OLTP:Online Transaction Processing), 데이터 웨어하우스, OLAP(Online Analytical Processing), 전자 상거래 등 최근에 등장하고 있는 데이터베이스의 중요한 응용 분야에도 활용할 수 있음
5
3.1 오라클 개요 시스템 관리 개 발 도 구 인터넷 응용 SQL PL/SQL 비즈니스 논리와 데이터 프리젠테이션과
웹 브라우져 클라이언트 메일 클라이언트 FTP 클라이언트 시스템 관리 개 발 도 구 인터넷 응용 SQL PL/SQL 비즈니스 논리와 데이터 프리젠테이션과 비즈니스 논리 데이터베이스 응용 서버 JAVA 네트워크 서비스 [그림 3.1] 오라클의 인터넷 플랫폼
6
3.1 오라클 개요 오라클 서버와 인스턴스 오라클 서버는 한 오라클 인스턴스와 한 오라클 데이터베이스로 구성됨
오라클 인스턴스는 백그라운드 프로세스들과 메모리 구조의 조합 사용자가 오라클 서버에 SQL 문을 입력하기 전에 반드시 오라클 인스턴스에 연결되어 있어야 함 접속(connection) 사용자 프로세스와 서버 프로세스 간의 통신 경로 세션(session)은 사용자가 오라클 서버로부터 인증될 때부터 시작하여 사용자가 로그아웃을 하거나 비정상적으로 종료될 때까지 지속
7
3.1 오라클 개요 오라클 서버 오라클 인스턴스 오라클 데이터베이스 [그림 3.2] 오라클 아키텍쳐 SQL*Plus 워크시트
Pro*C/C++ Pro*COBOL iSQL*Plus 응용서버포털 네트워크 오라클 서버 오라클 인스턴스 오라클 데이터베이스 [그림 3.2] 오라클 아키텍쳐
8
3.1 오라클 개요 오라클 특징 클라이언트/서버 환경(분산 처리) 다양한 플랫폼 대규모 데이터베이스
다중 동시 데이터베이스 사용자 높은 가용성 산업 표준 높은 보안 관리 자동 데이터베이스 회복 및 자동 에러 정정 XML 등 다양한 데이터 타입 지원
9
3.1 오라클 개요 오라클 데이터베이스의 물리적인 저장 구조
데이터베이스의 물리적인 구조는 데이터베이스 내의 운영체제 파일 (데이터파일(datafile))들의 집합 각 데이터파일은 운영체제 블록들로 이루어짐
10
3.1 오라클 개요 오라클 데이터베이스의 논리적인 저장 구조 오라클 데이터베이스는 적어도 하나의 테이블스페이스를 포함
테이블스페이스는 데이터파일이라고 부르는 하나 이상의 파일로 구성됨 테이블스페이스는 시스템 테이블스페이스, 임시 테이블스페이스, 사용자 테이블스페이스 등으로 구분 테이블스페이스는 하나 이상의 세그먼트를 포함 세그먼트는 특정한 유형의 데이터 구조를 저장하기 위해 할당되는 익스텐트들의 집합 익스텐트는 오라클 데이터 블록(운영체제의 데이터 블록이 아님)들로 이루어짐 오라클 데이터 블록은 읽기와 쓰기 연산의 가장 작은 단위 데이터파일 내의 데이터를 오라클 데이터 블록들로 관리
11
3.1 오라클 개요 데이터베이스 테이블스페이스 데이터파일 새그먼트 물리적 저장구조 익스텐트 오라클 데이터 블록 운영체제 블록
[그림 3.3] 논리적 저장구조와 물리적 저장구조
12
목차 I. 오라클 개요 II. 오라클 설치 및 수행 III. 환경 설정 IV. SQL*PLUS와 iSQL* PLUS V. PL/SQL
13
오라클9i 개인용 에디션을 컴퓨터 시스템에 설치
3.2 오라클 설치 및 수행 오라클9i 개인용 에디션을 컴퓨터 시스템에 설치 오라클 개인용 에디션은 윈도우2000, 윈도우NT, 윈도우XP 위에 설치 가능 본 절에서는 윈도우2000 환경에 오라클 개인용 에디션을 설치하는 과정을 설명 윈도우 2000에 오라클을 설치하려면 윈도우2000의 서비스 팩1 이상이 설치되어 있어야 함 오라클 홈페이지( 접속하여 오라클을 다운로드하는 웹페이지를 찾음 오라클 사이트에 회원으로 가입한 사람만 다운로드할 수 있음
14
3.2 오라클 설치 및 수행 [그림 3.4] 오라클을 다운로드할 수 있는 웹페이지
15
3.2 오라클 설치 및 수행 오라클 라이센스 동의 화면 [그림 3.5] 오라클을 라이센스 동의화면
16
3.2 오라클 설치 및 수행 오라클 zip 파일을 모두 다운로드 [그림 3.7] 오라클을 압축파일
17
3.2 오라클 설치 및 수행 zip 파일을 알집, 윈집 등의 압축 유틸리티를 사용하여 압축을 풀고 92010NT_Disk1 폴더에서 setup.exe를 더블 클릭하여 실행 [그림 3.8] 파일의 압축을 푼 상태
18
3.2 오라클 설치 및 수행 [그림 3.9] 90110NT_Disk1폴더의 setup.exe
19
Oracle Universal Installer(OUI)
3.2 오라클 설치 및 수행 Oracle Universal Installer(OUI) OUI는 오라클 제품의 설치 및 구성 과정을 안내 오라클의 구성요소들을 설치하고, 업그레이드하고, 제거하고, 데이터베이스를 생성하는데 사용됨 오라클 8i부터 모든 플랫폼에서 사용 가능한 자바 기반의 GUI 형식의 프로그램으로 만들어짐
20
3.2 오라클 설치 및 수행 [그림 3.10] OUI 초기 설치 화면
21
3.2 오라클 설치 및 수행 파일 위치 대화상자 오라클을 설치하려는 오라클 홈(ORACLE_HOME)과 폴더에 대한 적절한 이름과 경로를 입력 소스의 [경로]에는 products.jar의 전체 경로를 입력 대상의 [이름]에는 오라클 홈의 이름을 입력하거나 드롭다운 목록에서 선택 경로에는 오라클 홈의 전체 경로를 입력하거나 드롭다운 목록에서 선택
22
3.2 오라클 설치 및 수행 [그림 3.11] 파일 위치 대화상자
23
3.2 오라클 설치 및 수행 사용 가능한 제품 대화상자 [Oracle9i Database 9.2.0.1.0]을 선택
제품 언어를 누르고, 오라클을 시행할 때 사용하는 언어로 ‘한국어, 영어’를 선택
24
3.2 오라클 설치 및 수행 [그림 3.12] 사용 가능한 제품 대화상자 [그림 3.13] 언어 선택 대화상자
25
3.2 오라클 설치 및 수행 설치 유형 제품 대화상자 설치 목적에 따라 설치 유형을 선택
개인용 에디션은 엔터프라이즈 에디션과 완벽하게 호환되는 단일 사용자용 오라클 주로 개발자들이 엔터프라이즈 에디션이나 표준 에디션에서 운영할 응용들을 개발하기 위해서 개인용 에디션을 사용
26
3.2 오라클 설치 및 수행 [그림 3.14] 설치 유형 대화상자
27
3.2 오라클 설치 및 수행 데이터베이스 구성 대화상자 사용자가 필요로 하는 데이터베이스 구성을 선택
[일반적인 목적]을 선택하면 단순 트랜잭션에서 복합 질의까지 다양한 사용 범위에 적합한 사전 구성 데이터베이스를 설치 [트랜잭션 프로세싱]을 선택하면 단순한 트랜잭션들을 실행하는 많은 수의 동시 사용자에게 적합한 사전 구성 데이터베이스를 설치 [데이터 웨어하우스]는 복합 질의에 적합한 사전 구성 데이터베이스를 설치 [사용자 정의]는 사용자가 원하는 조합을 선택
28
3.2 오라클 설치 및 수행 [그림 3.15] 데이터베이스 구성 대화상자
29
Oracle Services for Microsoft Transaction Server 대화상자
3.2 오라클 설치 및 수행 Oracle Services for Microsoft Transaction Server 대화상자 포트 번호를 확인하고 [다음]을 클릭 Oracle MTS Recovery Service는 자동적으로 Oracle Services for Microsoft Transaction Server에 설치됨
30
3.2 오라클 설치 및 수행 [그림 3.16] Oracle Service for Microsoft Transaction Server 대화상자
31
3.2 오라클 설치 및 수행 데이터베이스 식별 대화상자 전역 데이터베이스 이름을 입력
전역 데이터베이스 이름을 입력하면 자동적으로 SID(시스템 식별자)에도 입력됨 전역 데이터베이스 이름은 네트워크 도메인 안에서 서로 다른 데이터베이스를 고유하게 식별할 수 있는 데이터베이스의 완전한 이름 SID는 로컬 컴퓨터의 다른 데이터베이스와 이 데이터베이스를 고유하게 식별하는 데이터베이스 이름 전역 데이터베이스 이름의 형식 데이터베이스_이름.데이터베이스_도메인
32
3.2 오라클 설치 및 수행 [그림 3.17] 데이터베이스 식별 대화상자
33
3.2 오라클 설치 및 수행 데이터베이스 파일 위치 대화상자 데이터베이스 파일을 설치할 위치를 지정
오라클은 오라클 홈이 설치된 디스크와 다른 디스크에 데이터베이스 파일을 설치할 것을 권장 개인용 에디션에서 간단한 데이터베이스를 생성하고 실습할 예정이므로 오라클 홈이 설치된 디스크와 동일한 디스크에 데이터베이스 파일을 설치해도 무방
34
3.2 오라클 설치 및 수행 [그림 3.18] 데이터베이스 파일 위치 대화상자
35
3.2 오라클 설치 및 수행 데이터베이스 문자 집합 대화상자 [기본 문자 집합 사용]을 선택
[그림 3.19] 데이터베이스 문자 집합 대화상자
36
3.2 오라클 설치 및 수행 설치할 정보를 요약한 창 [그림 3.20] 설치 요약 창
37
3.2 오라클 설치 및 수행 설치 화면 진행 표시줄에 각 구성요소별로 설치가 진행되는 상태가 표시됨 가장 오랜 시간이 걸림
중간에 디스크 2와 디스크 3의 위치를 지정하는 창이 각각 1번 나타남
38
3.2 오라클 설치 및 수행 [그림 3.19] 데이터베이스 문자 집합 대화상자
39
3.2 오라클 설치 및 수행 [그림 3.22] 디스크 2의 위치 지정 [그림 3.23] 디스크 3의 위치 지정
40
3.2 오라클 설치 및 수행 구성 툴 대화상자 실행할 수 있는 선택적 도구들의 이름과 상태가 표시됨
각 도구에 대해 성공, 실패, 대기 등의 상태가 나타남 모든 도구가 성공적으로 실행되면 OUI에서 자동으로 다음 화면으로 넘어감
41
3.2 오라클 설치 및 수행 [그림 3.24] 구성 툴 대화상자
42
3.2 오라클 설치 및 수행 데이터베이스 생성 화면 그림 3.17에서 명시한 DDOJADB라는 이름의 데이터베이스가 생성됨
[그림 3.25] DBCA 화면
43
3.2 오라클 설치 및 수행 DBCA 암호 변경 화면 데이터베이스 생성 과정에 SYS와 SYSTEM 계정이 자동적으로 만들어짐
이 두 계정은 데이터베이스 관리자 역할 SYS의 초기 암호는 change_on_install이고, 데이터 사전의 소유자 SYSTEM의 초기 암호는 manager이고, 오라클 도구들이 사용하는 내부 테이블과 뷰들의 소유자 실습에 사용할 새 암호로 dbadmin을 입력
44
3.2 오라클 설치 및 수행 [그림 3.26] DBCA 암호 변경 화면
45
3.2 오라클 설치 및 수행 암호 관리 화면 사용자에 대한 초기 암호를 변경할 수 있음
보안상의 이유로 SYS, SYSTEM, SCOTT, DBNSMP를 제외한 모든 사용자가 잠겨 있음 SCOTT도 오라클에서 데이터베이스를 생성할 때 자동적으로 만드는 사용자 계정. 초기 암호는 tiger
46
3.2 오라클 설치 및 수행 [그림 3.27] 암호 관리 화면
47
3.2 오라클 설치 및 수행 설치 완료 대화상자 [그림 3.28] 설치 완료 대화상자
48
3.2 오라클 설치 및 수행 오라클 엔터프라이즈 관리자 콘솔 창
하나 이상의 데이터베이스를 관리하고, 모니터하고, 튜닝하는데 사용되는 그래픽 인터페이스 데이터베이스 관리자를 위한 중앙집중식 시스템 관리 도구 [그림 3.29] 오라클 엔터프라이즈 관리자 콘솔
49
오라클이 윈도우2000의 서비스로 등록되어 있는지 확인
3.2 오라클 설치 및 수행 오라클이 윈도우2000의 서비스로 등록되어 있는지 확인 [시작] → [설정] →[제어판] → [관리도구] → [구성 요소 서비스]를 실행하고, 그림 3.30의 [구성 요소 서비스] 창의 왼쪽 영역에서 [서비스]를 선택하면 컴퓨터에서 실행되는 서비스를 확인할 수 있음 오라클 설치 과정에서 오라클 데이터베이스 SID를 ‘DDOJADB’로 설정한 경우에 윈도우2000의 서비스 이름은 ‘OracleServiceDDOJADB’
50
3.2 오라클 설치 및 수행 [그림 3.30] 구성 요소 서비스
51
3.2 오라클 설치 및 수행 오라클 관련 프로그램 [그림 3.31] 오라클과 관련된 프로그램
52
3.2 오라클 설치 및 수행 오라클 관련 폴더 오라클을 설치할 때 입력한 SID 값을 갖는 폴더인 ddojaDB가 C:\oracle\oradata 폴더 아래에 있음 이 폴더에 데이터베이스 관련 파일들이 저장되어 있음 INDX01.DBF에는 USERS 테이블스페이스에 저장된 데이터와 관련된 인덱스들이 저장됨 TEMP01.DBF에는 SQL문을 처리하는 과정에 생성되는 임시 테이블과 인덱스들이 저장됨 SYSTEM01.DBF에는 데이터 사전이 저장됨 USERS01.DBF에는 사용자가 생성한 테이블들이 저장됨
53
3.2 오라클 설치 및 수행 [그림 3.32] 데이터베이스 관련 파일이 저장되는 폴더
54
목차 I. 오라클 개요 II. 오라클 설치 및 수행 III. 환경 설정 IV. SQL*PLUS와 iSQL* PLUS V. PL/SQL
55
3.3 환경 설정 사용자 등록 두 명의 데이터베이스 사용자(KIM과 LEE)를 등록
[시작] → [프로그램] → [Oracle - Ora92] → [Application Development] → [SQLPlus Worksheet]를 선택 기본 관리 작업을 수행하려는 경우에는 [데이터베이스에 직접 접속]을 선택 [사용자 이름]에 ‘system’ 을 입력하고, [암호]에 설치 과정 중에 변경한 새로운 암호인 ‘dbadmin’을 입력하고, [다음으로 접속]에서 ‘SYSDBA’를 선택
56
3.3 환경 설정 [그림 3.33] 로그인 대화상자
57
3.3 환경 설정 SQL*Plus 워크시트 창 SQL*Plus 워크시트에서 SQL문이나 PL/SQL문을 입력하고, 편집하고, 실행할 수 있음 SQL*Plus 워크시트에서 클라이언트의 스크립트를 실행할 수도 있음 SQL*Plus 워크시트는 실행한 명령에 대한 기록을 유지하므로 이전에 실행한 명령을 쉽게 읽어 들여 다시 실행할 수 있음
58
3.3 환경 설정 입력창 도구모음 출력창 [그림 3.34] SQL*Plus 워크시트
59
3.3 환경 설정 실습 예제(userCreate.sql) [그림 3.35] 실습 예제파일(userCreate.sql) 열기
60
3.3 환경 설정 [그림 3.36] 실습 예제파일(userCreate.sql)의 내용
61
3.3 환경 설정 CREATE USER 데이터베이스 관리자는 CREATE USER문을 사용하여 사용자를 등록하고 암호를 초기화 KIM은 사용자의 계정이고, kim은 이 사용자의 초기 암호 디폴트 사용자 테이블스페이스는 users이고, 임시 테이블스페이스는 temp users와 temp 테이블스페이스에 디스크 쿼터를 무제한으로 할당 GRANT 데이터베이스 관리자는 KIM에게 connect와 resource 역할을 허가
62
3.3 환경 설정 입력 창에 들어 있는 명령 실행 [워크시트] → [실행] 또는 F5 또는 도구 모음에서 를 클릭
[그림 3.37] 입력창의 명령 실행
63
3.3 환경 설정 암호 변경 데이터베이스 관리자가 사용자의 암호를 변경하거나 사용자가 자신의 암호를 직접 변경할 수 있음
데이터베이스 관리자(system)로 로그인을 한 상태에서 다음 명령을 사용하여 암호를 변경할 수 있음 ALTER USER KIM identified by bluesky;
64
3.3 환경 설정 [그림 3.38] 암호 변경
65
3.3 환경 설정 암호 변경(계속) 일반 사용자로 로그인을 한 상태에서 password 명령을 사용하여 암호를 변경할 수도 있음 [시작] → [프로그램] → [Oracle - Ora92] → [Application Development] → [SQL Plus]를 선택 [그림 3.39] SQL*Plus의 로그온 대화상장
66
3.3 환경 설정 프롬프트 [그림 3.40] SQL*Plus 창
67
3.3 환경 설정 예제 테이블 생성 DBSERVER 데이터베이스에 4장에서 SQL 실습에 사용할 EMPLOYEE와 DEPARTMENT 테이블을 생성하고, 튜플들을 삽입 SQL*Plus 워크시트에서 [파일] → [데이터베이스 접속 변경]이나 를 선택 [그림 3.41] 데이터베이스 접속 정보 창
68
3.3 환경 설정 실습 예제(sampledata.sql ) [그림 3.42] 실습 예제파일(sampledata.sql)의 내용
69
정의한 테이블과 뷰가 데이터베이스에 생성되었는가를 확인
3.3 환경 설정 정의한 테이블과 뷰가 데이터베이스에 생성되었는가를 확인 입력 창에 다음 명령을 입력하여 실행 SELECT * FROM tab; tab은 데이터베이스 내의 테이블에 관한 정보를 나타내는 데이터 사전 뷰 TNAME은 테이블의 이름을 나타내고, TABTYPE은 테이블의 유형, 즉 테이블 또는 뷰를 나타냄
70
3.3 환경 설정 [그림 3.43] 생성된 테이블과 뷰
71
3.3 환경 설정 DEPARTMENT 테이블의 구조 확인 입력 창에 다음 명령을 입력하여 실행
DESCRIBE DEPARTMENT; 또는 DESC DEPARTMENT; 이름은 DEPARTMENT 테이블에 속한 애트리뷰트들을 나타내고, 널?은 애트리뷰트가 널값을 허용하는가를 나타내며, 유형은 애트리뷰트의 데이터 타입과 길이를 의미
72
3.3 환경 설정 [그림 3.44] 테이블 구조
73
3.3 환경 설정 DEPARTMENT 테이블의 내용 확인 입력 창에 다음 명령을 입력하여 실행
SELECT * FROM DEPARTMENT; [그림 3.45] DEPARTMENT 테이블의 내용
74
3.3 환경 설정 PROJECT 테이블을 생성 입력 창에 다음 명령을 입력하여 실행 CREATE TABLE PROJECT (
Projno NUMBER NOT NULL Projname CHAR(15) NOT NULL Budget NUMBER );
75
3.3 환경 설정 [그림 3.46] PROJECT 테이블 생성
76
3.3 환경 설정 PROJECT 테이블을 생성 입력 창에 다음 명령을 입력하여 실행
ALTER TABLE PROJECT ADD Manager NUMBER; 방금 추가한 Manager 애트리뷰트를 삭제하기 위해서는 아래와 같은 명령을 실행 ALTER TABLE PROJECT DROP COLUMN Manager;
77
3.3 환경 설정 [그림 3.47] PROJECT 테이블에 애트리뷰트 추가
78
목차 I. 오라클 개요 II. 오라클 설치 및 수행 III. 환경 설정 IV. SQL*PLUS와 iSQL* PLUS V. PL/SQL
79
3.4 SQL*Plus와 i SQL*Plus SQL*Plus 데이터베이스를 대화식으로 접근하기 위해 사용되는 오라클의 도구
SQL*Plus는 SQL문과 PL/SQL문을 수행하며 자체 명령을 포함 데이터베이스를 기동하거나 종료시키고, 질의를 작성해서 수행하고, 데이터를 삽입하고, 데이터를 갱신하고, 원하는 형식의 보고서를 작성 또한 SQL문을 수정하기 위한 행 편집기를 제공하며, 환경 설정을 제어하고, 로컬 및 원격 데이터베이스를 접근 SQL문을 실행하려면 마지막 절의 끝에 세미콜론(;)을 입력하고 엔터 키를 누름 SQL은 데이터베이스를 접근하는데 사용되는 언어이고, SQL*Plus는 SQL문과 PL/SQL문을 수행하는 환경(도구)
80
3.4 SQL*Plus와 i SQL*Plus SQL문 서버 SQL*PLUS 질의결과 버퍼 테이블 SQL 스크립트
81
3.4 SQL*Plus와 i SQL*Plus i SQL*Plus
웹브라우저(Internet Explorer 또는 Netscape Navigator)에서 데이터베이스를 접근하는 오라클 도구 SQL*Plus와 유사한 기능 로 접속하면 됩니다.
82
목차 I. 오라클 개요 II. 오라클 설치 및 수행 III. 환경 설정 IV. SQL*PLUS와 iSQL* PLUS V. PL/SQL
83
PL/SQL(Procedural Language/SQL)
PL/SQL은 오라클에서 관계 데이터베이스를 위한 표준 데이터 언어인 SQL에 절차적인 언어의 기능(예를 들어, IF-THEN, WHILE 루프 등)을 추가하여 확장한 언어 블록 위주의 언어 기본적인 단위는 블록, 프로시저, 함수
84
3.5 PL/SQL 기본적인 PL/SQL 블록 구조 세 개의 섹션으로 구성됨
begin으로 시작하는 실행절만 필수이고 나머지는 옵션 선언절에서는 변수와 객체들을 선언 실행절에서는 변수들을 처리(조작) 예외 사항 처리절에서는 실행 중에 발생한 예외나 에러를 처리 END 및 다른 PL/SQL문에는 문장 끝을 표시하기 위해 세미콜론을 써야 함 주석은 여러 행에 걸쳐 쓰려면 /* 과 */ 사이에 입력하고, 한 행에 쓰는 주석은 시작 부분에 --을 표시
85
3.5 PL/SQL 기본적인 PL/SQL 블록 구조(계속) [DECLARE -- 선언절 <상수> <변수>
<커서> <사용자가 정의하는 예외 사항>] BEGIN 실행절(필수) <SQL문 또는 PL/SQL문> [<EXCEPTION> -- 예외 사항 처리(옵션) <예외 사항 처리>] END;
86
3.5 PL/SQL PL/SQL의 제어 구조 조건문의 예 for 반복문의 예 while 반복문의 예
if <조건> then <PL/SQL문> else <PL/SQL문> end if; for 반복문의 예 for <인덱스 변수> in <범위> loop <PL/SQL문> end loop; while 반복문의 예 while <조건> loop <PL/SQL문> end loop;
87
3.5 PL/SQL 커서(cursor) 질의가 다수의 행들을 결과로 반환할 때 커서를 선언해서 질의의 결과의 각 행을 처리하고, 현재 어떤 행을 처리하고 있는지 유지해야 함 질의의 결과로 반환되는 행들은 활성 집합(active set)이라고 부르는 영역에 저장됨 커서가 가리키는 행이 현재 행 활성 집합 송치윤 52015 사당동 컴퓨터 3.3 김구완 53116 홍제동 정보통신 3.1 최재석 56034 양재동 정보관리 3.5 송혜영 52042 신정동 2.9 조미림 53108 역삼동 3.4 커서 현재형 [그림 3.49] 명시적 커서의 예
88
3.5 PL/SQL 커서를 사용하기 위해 필요한 네 단계 블록의 선언절에서 커서를 선언
CURSOR 커서_이름 IS SELECT문; 커서를 사용하기 전에 실행절에서 커서를 연다 OPEN 커서_이름; 활성 집합에 있는 행을 한 번에 하나씩 차례대로 검색 FETCH 커서_이름 INTO 변수_리스트; 질의 수행 결과에 대한 처리를 마치기 위해 커서를 닫음 CLOSE 커서_이름;
89
3.5 PL/SQL 갱신할 투플들에 대한 커서 정의 커서 선언부에 FOR UPDATE OF절을 포함시키고, 수정할 애트리뷰트들을 함께 명시 예: 아래와 같이 커서를 선언하면 EMPLOYEE 테이블의 TITLE 애트리뷰트를 수정할 수 있음 EXEC SQL DECLARE title_cursor CURSOR FOR SELECT title FROM employee FOR UPDATE OF title; 이제 커서를 열면 투플의 애트리뷰트들을 수정할 수 있음 UPDATE employee SET title = :newtitle WHERE CURRENT OF title_cursor;
90
3.5 PL/SQL PL/SQL의 예 IF문과 FOR 반복문을 포함한 질의의 예
다음 PL/SQL코드는 3번 부서의 사원들의 평균 급여가 원 이상이면 3번 부서에 속한 사원들의 이름과 직책과 급여를 검색하고, 그렇지 않으면 “3번 부서의 평균 급여가 미만입니다.”라는 메시지를 인쇄(교재 Page ) dbms_output.put_line은 값을 화면에 출력하는 오라클의 프로시저
Similar presentations