본문 바로가기

ORACLE SQL

Oracle Supplied PL/SQL Packages Package Name Description CTX_ADM Lets you administer servers and the data dictionary. CTX_CLS Lets you generate CTXRULE rules for a set of documents. CTX_DDL Lets you create and manage the preferences, section lists and stopgroups required for Text indexes. CTX_DOC Lets you request document services. CTX_OUTPUT Lets you manage the index log. CTX_QUERY Lets you generate query feedback, count hits.. 더보기
Oracle Procedure를 이용하여 Mail 보내기(SMTP) 1. 개요 Oracle Procedure를 이용한 Mail 보내기(SMTP) 2. 활용분야 - MIS 내에서 본인 확인을 거친 후 암호초기화하여 본인에게 메일발송 - Monitoring 프로그램에서 필요 시 담당자에 메일발송 3. 내용 사용자들이 본인의 암호를 잊고 암호 초기화 S/R을 요청하고, 담당자들은 암호를 초기화하여 사용자에게 초기화암호를 알려주는 현 Process에서 담당자를 거치지 않고 MIS 내에서 본인인증을 거친 후 초기화한 암호를 사용자 메일계정으로 발송. 1) Oracle 8.1.6 이상에서 가능하며 2) loadjava -resolve -user system/manager $ORACLE_HOME/plsql/jlib/plsql.jar 실행 /* Oracle 9i 에서는 불필요. */ .. 더보기
PL/SQL (12) - 데이터타입 (%ROWTYPE 과 %TYPE) PL/SQL에서는 일반적으로 BOOLEAN, CHAR, VARCHAR2, DATE, NUMBER 와 같은 데이터 타입을 사용하지만, 추가적으로 특정 TABLE이나 특정 COMLUMN과 같은 형식의 데이터타입을 사용할 수도 있다. - 특정 TABLE의 ROW와 동일한 테이터타입 : table%ROWTYPE - 특정 COLUMN과 동일한 데이터타입 : table.comlumn%TYPE 1. %ROWTYPE - 프로그래밍에서 변수란 데이터를 담는 임시 그릇이다. 데이터타입을 지정한다는 것은 그릇의 크기를 메모리에 지정해주는 작업이다. - 같은 논리로 PL/SQL에서 변수를 선언할 때 변수를 선언하고 데이터타입을 특정 테이블의 1개 ROW와 동일한 크기로 지정해서 그 곳에 값을 저장하는 것이다. C언어의 구조체.. 더보기
PL/SQL (13) - 커서(cursor) 1. 커서란... - 일반적으로 커서는 모니터에 해당 위치를 알려주고 그곳에 입력을 대기중이라고 깜빡거리는 것을 나타낸다. - 메모장을 켜보면 깜빡거리는 것. 그게 커서이다. - 같은 맥락으로 PL/SQL에서 커서는 메모리상에 SQL문이 실행되는 위치를 가리킨다. - 커서를 통해, 메모리에 존재하는 SQL문 실행결과를 바로 접근하여 fetch 할 수 있다. 메모리영역이라 함은 private SQL영역으로 SQL문 실행 및 처리결과를 저장하는 곳이다. - 이 때 커서는 현재 처리하고 있는 row를 가리키게 된다. - 실행결과를 1개 row씩 처리하다가 마지막까지 처리가 끝나면 커서를 닫는다. - 많은 row를 처리하기 위해 명시적 커서를 선언하고 제어한다. 2. 종류 (1) 암시적커서 (Implicit C.. 더보기
PL/SQL (14) - 커서(cursor) FOR UPDATE 절 FOR UPDATE 절 - 커서 질의에 FOR UPDATE 절을 추가해서 영향을 받는 행을 잠글 수 있다. - FOR UPDATE 절은 SELECT 문 맨 마지막에 온다. (ORDER BY 보다 뒤) - SELECT ... FOR UPDATE문은 갱신 또는 삭제될 행을 식별한 다음 결과 집합에 있는 각 행을 잠근다. - 행의 기존 값을 기반으로 갱신을 수행하려는 경우, 갱신 전에 다른 사용자가 해당 행을 변경하는 것을 방지하는 효과가 있다. - SELECT 문 맨 마지막에 온다. ORDER BY 보다 뒤에... - FOR UPDATE OF column_name 을 사용하여 해당 column_name이 있는 테이블에서만 행을 잠근다. - NOWAIT 절은 다른 세션에서 해당 행을 잠근 경우, 무한정 대기하.. 더보기
PL/SQL (15) - 대용량 오브젝트 타입 - CLOB, BLOB 1. LOB - LOB은 TEXT, 그래픽, 이미지, 비디오, 사운드 등 구조화되지 않은 대형 데이터를 저장하는데 사용한다. - 일반적으로 테이블에 저장되는 구조화된 데이터들은 크기가 작지만, 멀티미디어 데이터는 크기가 크다. - 크기가 큰 데이터는 DB에 저장하기 힘들기 때문에 OS상 존재하는 파일을 데이터베이스가 접근하게 된다. - LONG, LONG RAW 데이터 유형은 예전에 사용던 것이고, 현재는 대부분 LOB 데이터 유형을 사용한다. - TO_LOB 함수를 이용하여 LONG 및 LONG RAW 를 LOB 으로 변경할 수 있다. 종류 - CLOB : 문자 대형 객체 (Character). Oracle Server는 CLOB과 VARCHAR2 사이에 암시적 변환을 수행한다. - BLOB : 이진 .. 더보기
PL/SQL (16) - 대용량 오브젝트 타입 - BFILE 1. BFILE - 오라클 데이터베이스에 저장되는 것이 아니라 외부 운영체제에 저장된 오브젝트에 액세스한다. - 디렉토리 오브젝트와 파일이름이 필요하고 관련 권한이 필요하다. - Commit, Rollback 에 대한 트랜잭션을 지원하지 않는다. - 파일은 읽기전용이다. - too many files open 에러 발생시 init 파일에서 SESSION_MAX_OPEN_FILES 파라미터를 수정한다. - 파일을 열었으면 반드시 닫는다. 2. 디렉토리 오브젝트 - 디렉토리 오브젝트 이름과 경로를 매핑시킨다. - OS상 실제 경로를 지정하는 것이 아니라, 이 디렉토리 오브젝트를 호출하여 액세스한다. 3. DBMS_LOB 패키지 - DBMS_LOB 패키지를 통해 LOB을 조작할 수 있다. ※ BFILE 에 사.. 더보기
PL/SQL (11) - 패키지 (Package) 목록열기 목록닫기 목록보기 DB (22) 문서파일로 저장하기 파일로 저장하기 버튼을 누른 후 잠시만 기다려주세요. 이 기능은 베타 서비스 중입니다. 변환 후 배경음악등 일부 내용은 정상적으로 표시되지 않을 수 있습니다. 문서파일로 저장하기 메뉴 도움말 PL/SQL (10) - 프로시저 (Procedure) DB 2007/12/14 09:41 http://blog.naver.com/daqcomnet/120045651874 블로그 > OPEN YOUR MIND !!! http://blog.naver.com/tangamjaelt/38260939 #############################################################################################.. 더보기
PL/SQL (10) - 프로시저 (Procedure) 프로시저 (procedure) 와 패키지 (package) - 프로그램 유지 보수와 실행을 보다 쉽게 하기 위해서 프로그램 코드를 논리적으로 구성한 것. - 1개 패키지 내에 여러개의 프로시저가 존재한다. 스토어드 프로시저 (stored procedure) - 데이터베이스 내에 컴파일되어 저장된 프로시저. - 데이터베이스에 저장된 프로시저는 오브젝트로 관리된다. 프로시저를 사용하는 이유 - 특정 문제나 작업을 해결하기 위해서 사용한다. - 특정 기능을 담당하는 모듈(module) 단위로 되어 있다. - 재사용이 가능하다. - 스토어드 프로시저를 통해서만 데이터를 액세스할 수 있어 보안이 향상된다. - 프로시저는 공유된 메모리 자원을 이용한다. 프로시저와 함수 - 둘은 출력의 형식이 다르다. - 프로시저 .. 더보기
PL/SQL (9) - 변환 함수 사용 1. 변환 함수 - 함수 중에서 가장 널리 사용하고 중요한 함수이다. - 다른 데이터형으로 변환시킨다. 2. TO_DATE - TO_DATE(문자스트링, 서식, NLS_DATE_LANGUAGE) - 서식을 지정하지 않으면 기본 DATE 형식인 DD-MMM-YY 가 적용된다. - 변환될 문자는 220자를 넘을 수 없다. - 12시간제 / 24시간제 중 하나를 선택한다. - 대표 변환마스크. MM : 01~12로 월 표시. MONTH : 월 이름을 9자리 문자로 할당. 나머지 문자는 공백. MON : 월 이름을 3자리 문자로 D : 1주를 1일~7일 DD : 1달을 1일~31일 DDD : 1년을 1일~365일 DAY : 요일을 철자대로 표기하는 것. 항상 9자리를 차지. 남는 오른쪽 자리는 공백으로 HH, .. 더보기