3. Database
-
자바개발자로 SQL에서 지원하지 않는 기능을 SQL로 구현해야 할 때가 있다. 이럴 땐 어떻게 해야 할까? - SQL에 없는 기능을 자바 프로그램 소스를 활용해서 만들어 본다. 1. 자바 소스를 이용하여 오라클 내장 자바 클래스 생성 Syntax) - CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "클래스이름" AS 자바문법 EX) 샘플 자바 소스- 문자열 SHA-256 암호화 CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "PasswordEncoder{" AS import java.lang.*;import java.io.*;public class PasswordEncoder{public static String encode(..
[Oracle] 오라클에서 Java를 이용하여 함수 만들기 (샘플)자바개발자로 SQL에서 지원하지 않는 기능을 SQL로 구현해야 할 때가 있다. 이럴 땐 어떻게 해야 할까? - SQL에 없는 기능을 자바 프로그램 소스를 활용해서 만들어 본다. 1. 자바 소스를 이용하여 오라클 내장 자바 클래스 생성 Syntax) - CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "클래스이름" AS 자바문법 EX) 샘플 자바 소스- 문자열 SHA-256 암호화 CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "PasswordEncoder{" AS import java.lang.*;import java.io.*;public class PasswordEncoder{public static String encode(..
2017.11.30 -
사업자번호 유효성 체크Function 1. 먼저 정규식을 통해 특수문자 제거 2. 자리수 체크 하여 10자리가 아닌경우 오류 3. 유효성 체크에서 걸러져도 오류 PARAMETER : 체크할 사업자번호RETURN : 문자열 'FALSE' 또는 'TRUE' --------------------------------------------------------------------------------------------------------------------------------------- CREATE OR REPLACE FUNCTION FCHECK_BIZ_NO( p_bizno IN VARCHAR2) RETURN VARCHAR2 ISv_ret_val VARCHAR2(30);v_bizno VARCHAR2..
[Oracle] 사업자번호 유효성 체크 Function (오라클)사업자번호 유효성 체크Function 1. 먼저 정규식을 통해 특수문자 제거 2. 자리수 체크 하여 10자리가 아닌경우 오류 3. 유효성 체크에서 걸러져도 오류 PARAMETER : 체크할 사업자번호RETURN : 문자열 'FALSE' 또는 'TRUE' --------------------------------------------------------------------------------------------------------------------------------------- CREATE OR REPLACE FUNCTION FCHECK_BIZ_NO( p_bizno IN VARCHAR2) RETURN VARCHAR2 ISv_ret_val VARCHAR2(30);v_bizno VARCHAR2..
2017.11.29 -
PGA (Program Global Area : 개별 프로세스들이 독립적으로 사용하는 비 공유 메모리) PGA SGA는 프로세스들이 공유하여 사용할 수 있는 공유 메모리 ) PGA는 서버 프로세스가 시작할 때 Oracle에 의해 생성된다. PGA의 총 크기는 Oracle Instance에 속한 각 프로세스에 의해 할당된다. PGA는 개별 세션에 대한 바인드 변수 (Bind Variable) 정보, SORT AREA, 커서(CURSOR) 처리 등의 작업을 할 때 서버 프로세스를 돕는 역할을 한다. 1. 바인드 변수(Bind Variable) 다음의 예를 보자. select emp_id from emp where department = ‘10’; select emp_id from emp where depar..
[Oracle] PGA (Program Global Area)PGA (Program Global Area : 개별 프로세스들이 독립적으로 사용하는 비 공유 메모리) PGA SGA는 프로세스들이 공유하여 사용할 수 있는 공유 메모리 ) PGA는 서버 프로세스가 시작할 때 Oracle에 의해 생성된다. PGA의 총 크기는 Oracle Instance에 속한 각 프로세스에 의해 할당된다. PGA는 개별 세션에 대한 바인드 변수 (Bind Variable) 정보, SORT AREA, 커서(CURSOR) 처리 등의 작업을 할 때 서버 프로세스를 돕는 역할을 한다. 1. 바인드 변수(Bind Variable) 다음의 예를 보자. select emp_id from emp where department = ‘10’; select emp_id from emp where depar..
2017.08.31 -
SGA (System Global Area : 시스템 공유 영역) SGA는 Oracle이 시스템으로부터 자원을 할당 받아 관리하는 Oracle 시스템 영역이다. 데이터 베이스의 Instance가 시작되면 시스템으로부터 자원을 할당 받고, 데이터베이스 Instance가 종료되면 할당 받은 자원을 시스템에 반환한다. 즉 Instance가 시작된다는 것은 메모리의 일부를 SGA의 영역으로 할당 받고, CPU로부터 PROCESS 자원도 할당 받았음을 의미한다. 메모리 영역 관리 Oracle데이터 베이스 서버는 자주 사용하는 데이터를 메모리에 오래 저장하여 I/O 효율을 높이고, 자주 사용하지 않는 데이터는 데이터 파일에 물리적으로 저장하여 SGA영역을 효율적으로 관리한다. 이를 LRU (Least Recentl..
[Oracle] SGA (System Global Area, 시스템 공유 영역)SGA (System Global Area : 시스템 공유 영역) SGA는 Oracle이 시스템으로부터 자원을 할당 받아 관리하는 Oracle 시스템 영역이다. 데이터 베이스의 Instance가 시작되면 시스템으로부터 자원을 할당 받고, 데이터베이스 Instance가 종료되면 할당 받은 자원을 시스템에 반환한다. 즉 Instance가 시작된다는 것은 메모리의 일부를 SGA의 영역으로 할당 받고, CPU로부터 PROCESS 자원도 할당 받았음을 의미한다. 메모리 영역 관리 Oracle데이터 베이스 서버는 자주 사용하는 데이터를 메모리에 오래 저장하여 I/O 효율을 높이고, 자주 사용하지 않는 데이터는 데이터 파일에 물리적으로 저장하여 SGA영역을 효율적으로 관리한다. 이를 LRU (Least Recentl..
2017.08.31 -
정규 표현식(Regular Expression) - Oracle 10g에서 새로 도입 1. REGEXP_LIKE 함수 - 문법 : REGEXP_LIKE (srcstr, pattern [, match_option ] ) - scrstr : 검색하고자 하는 값 - pattern : Regualr Expression Operation - match_option : 찾고자 하는 문자의 대소문자 구분이 기본으로 설정되어 있다. 대소문자를 구분할 필요가 없다면 'i' 옵션 사용을 지정한다. SELECT ADDR1 FROM 주소테이블 WHERE REGEXP_LIKE (ADDR1, '불광[^2]'); [^expression] => expression이 부정되는 경우 즉 '2'를 포함하는 주소는 제외. SELECT NA..
[Oracle] 정규 표현식(Regular Expression)정규 표현식(Regular Expression) - Oracle 10g에서 새로 도입 1. REGEXP_LIKE 함수 - 문법 : REGEXP_LIKE (srcstr, pattern [, match_option ] ) - scrstr : 검색하고자 하는 값 - pattern : Regualr Expression Operation - match_option : 찾고자 하는 문자의 대소문자 구분이 기본으로 설정되어 있다. 대소문자를 구분할 필요가 없다면 'i' 옵션 사용을 지정한다. SELECT ADDR1 FROM 주소테이블 WHERE REGEXP_LIKE (ADDR1, '불광[^2]'); [^expression] => expression이 부정되는 경우 즉 '2'를 포함하는 주소는 제외. SELECT NA..
2017.08.30 -
조인 (JOIN) - JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다. - JOIN에는 크게 INNER JOIN, OUTER JOIN이 있다. ▶ 예제 테이블을 통해 이해해보자. TABLE 1) MEM : 회원테이블 (회원번호, 이름, 이메일, 부서번호) TABLE 2) DEPART : 부서테이블 (부서번호, 부서명) ▶ 1. SELECT FROM을 이용한 조인 1.1) 회원 테이블과 부서 테이블의 조인 => DEPART_ID가 공통 컬럼 => MEM테이블의 DEPART_ID와 DEPART테이블의 DEPART_ID를 연결하여 준다. ex) SELECT MEM.MEM_ID, MEM.NAME, MEM.DEPART_ID, DEPART.DEPART_NAME FROM MEM , DE..
[Oracle] 조인 (JOIN), 아우터 조인(Outer Join)조인 (JOIN) - JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다. - JOIN에는 크게 INNER JOIN, OUTER JOIN이 있다. ▶ 예제 테이블을 통해 이해해보자. TABLE 1) MEM : 회원테이블 (회원번호, 이름, 이메일, 부서번호) TABLE 2) DEPART : 부서테이블 (부서번호, 부서명) ▶ 1. SELECT FROM을 이용한 조인 1.1) 회원 테이블과 부서 테이블의 조인 => DEPART_ID가 공통 컬럼 => MEM테이블의 DEPART_ID와 DEPART테이블의 DEPART_ID를 연결하여 준다. ex) SELECT MEM.MEM_ID, MEM.NAME, MEM.DEPART_ID, DEPART.DEPART_NAME FROM MEM , DE..
2017.08.30