자바와 DB의 연동

(1) JDBC (Java Database Conectivity)

1) 해당 DB의 드라이버 준비 : ojdbc6.jar

2) java.sql.*

- Conuection : DB와의 연결정보

- Statement : 명령어 전달 및 실행

- ResultSet : 결과를 프로그램으로 가져올때 사용

3) ResultSet 명령어가 select일때만 쓰임

- DB로부터 가져온 결과를 임시로 저장하는 객체

- 하나의 테이블을 저장할 수 있는 구조

- 연결 지향성

- 처음에는 반드시 next()를 호출해야 한다.

- 레코드 단위로 이동할 수 있는 메서드

next()

previous()

first()

last()

4) PreparedStatement

// 복잡한 쿼리문을 해소할 수 있다.

5) CallableStatement

- 프로시저 호출

'DB > Oracle' 카테고리의 다른 글

[Oracle] Trigger  (0) 2017.07.03
[Oracle] View 란?  (0) 2017.07.03
[Oracle] Data Integrity(데이터 무결성)  (0) 2017.07.03
[Oracle] Transaction  (0) 2017.07.03
[Oracle 과제] Join에 대한 문제  (0) 2017.06.26

Trigger

- 묵시적으로 수행되는 procedure 프로시저

- 트리거는 table과 별도로 database에 저장

- 트리거는 view에 대해서가 아니라 table에 관해서만 정의 될 수 있다.

- 행 트리거 : 컬럼의 각각의 행의 데이터 행 변화가 생길때마다 실행,

 그 데이터 행의 실제값을 제어 할 수 있다.

- 문장 트리거 : 트리거 사건에 의해 단 한번 실행됨,

 컬럼의 각 데이터 행을 제어 할 수 없다.

트리거 문법

CREATE [OR REPLACE] TRIGGER trigger_name

BEFORE | AFTER

trigger_event ON table_name

[FOR EACH ROW]

[WHEN (condition)]

PL/SQL block

- BEFORE : INSERT, UPDATE, DELETE 문이 실행되기 전에 트리거가 실행

- AFTER : INSERT, UPDATE, DELETE문이 실행된 후 트리거가 실행

- trigger_event : INSERT, UPDATE, DELETE 중에서 한 개 이상 올 수 있다.

- FOR EACH ROW : 이 옵션이 있으면 행 트리거가 된다.

'DB > Oracle' 카테고리의 다른 글

[Oracle] JAVA와 DB의 연동  (0) 2017.07.03
[Oracle] View 란?  (0) 2017.07.03
[Oracle] Data Integrity(데이터 무결성)  (0) 2017.07.03
[Oracle] Transaction  (0) 2017.07.03
[Oracle 과제] Join에 대한 문제  (0) 2017.06.26

VIEW

(1) 정의 : 실제 테이블을 여러 관점에서 투영한 가상 테이블

(2) 목적 

1) 사용자의 편의

2) 관리와 보안성

(3) 문법

CREATE [OR REPLACE] VIEW 뷰 이름 [(컬럼명,...)] AS SubQuery(select문);

/*영업부 직원 중 사번, 이름, 급여, 커미션을 view로 작성

create view vw_emp_sales as 

select empno, ename, sal, comm from emp where deptno=30;

재수정 삭제했다가 다시 만든것

create or replace view vw_emp_sales as

select empno, ename, sal, comm from emp where deptno=30;

*/

- user_views 

desc user_views 로 볼수잇다.

내가만든 view의 이름을 볼경우 

select view_name from user_views;

- user_objects // view의 모든 정보를 볼 수 있다.

=================문제==================

/*영업부를 제외하고 급여가 2000이상인 직원들 중 사번, 이름, 급여, 부서, 부서명, 급여등급을 조회하는 테이블을 뷰로 만들어라*/

select empno, ename, sal, e.deptno, d.dname, s.grade from emp e 

inner join dept d on e.deptno = d.deptno

inner join salgrade s on e.sal>=s.losal and e.sal<=s.hisal

where sal>=2000 and e.deptno !=30;

'DB > Oracle' 카테고리의 다른 글

[Oracle] JAVA와 DB의 연동  (0) 2017.07.03
[Oracle] Trigger  (0) 2017.07.03
[Oracle] Data Integrity(데이터 무결성)  (0) 2017.07.03
[Oracle] Transaction  (0) 2017.07.03
[Oracle 과제] Join에 대한 문제  (0) 2017.06.26

+ Recent posts