CSE/DataBase 검색 결과

3개 발견
  1. 미리보기
    2015.06.12 - Palpit

    [DataBase] PL/SQL 프로시저, 함수, 트리거

  2. 미리보기
    2015.06.12 - Palpit

    [DataBase] PL/SQL 이란

  3. 미리보기
    2015.06.12 - Palpit

    [DataBase] Oracle에 Excel 파일 Import

조회수 확인
프로시저

 개념: 매개 변수를 받을 수 있고, 반복해서 사용할 수 있는 이름이 있는 PL/SQL 블록

 용도: 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL블록을 DB에 저장하기 위해 생성

 

 - 저장 프로시저(함수)를 사용하는 이유

  정보 캡슐화

  기능의 재사용

  트랜잭션 제어 

  DB 내에서 미리 컴파일 되어 저장되므로 필요할 때마다 매번 다시 변환해야 하는 SQL 문 보다 빠르게 실행

  저장 프로시저에서 발생하는 문법 오류는 실행 시간이 아닌 컴파일 때 바로 잡을 수 있음

 

 형식

  CREATE [OR REPLACE] PROCEDURE'프로시저 명'

  (IN argument

   OUT argument

   IN OUT argument)

  

  IS

   [변수 선언]

  

  BEGIN -- 필수

   [PL/SQL Block]

  

  [EXCEPTION]

 

  END; 

 


 특징

  - 실행 환경과 프로그램 사이에 값을 주고 받는 역할

  - 블록 안에서의 변수와 똑같이 일시적으로 값을 저장하는 역할

 

 

함수

 개념: 매개 변수를 받을 수 있고, 반복해서 사용할 수 있는 이름이 있는 PL/SQL 블록

 용도: 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL블록을 DB에 저장하기 위해 생성

 

 - 프로시저와의 차이점 및 특징

  결과값 리턴

  대부분 구성이 프로시저와 유사하지만, IN 패러미터만 사용 가능

  리턴될 값의 데이터 타입을 RETURN 문에 선언 

  PL/SQL블록 내에서 RETURN문을 통해서 반드시 값을 반환해야 함

 

 형식

  CREATE [OR REPLACE] FUNCTION '함수 명'

   [(argument...)]

  

  RETURN datatype

   -- datatype은 반환되는 값의 datatype

 

  IS

   [변수 선언 부분]

 

  BEGIN

 

  END;  

 

 

 

트리거

 DB에 특정한 변경이 가해졌을 때 DBMS가 이에 대응해서 자동적으로 호출하는 일종의 프로시저

 프로시저와 함수는 그 실행이 외부적인 실행 명령에 의해 이루어지는데 반해, 트리거의 실행은 트리거링 사건(Triggering Event)에 의해 내부적으로 이루어짐

 

 트리거를 일으키는 사건(event): DB 테이블에 DML문이 발생할 때

 

 INSERT, UPDATE, DELETE문의 사용에 사건을 정의할 수 있으며 이들을 실행할 때 정의된 트리거도 자동 실행

 

 테이블과 별도로 데이터베이스에 저장

 

 뷰에 대해서가 아니라 테이블에 관해서만 정의

 

 - 트리거 구성

  사건(event): 트리거를 가동

  조건(condition): 트리거 수행 여부 검사

  동작(action): 트리거가 수행될 때 일어나는 일

 

 형식

 

 

 

  CREATE [OR REPLACE] TRIGGER '트리거 명'

  BEFORE | AFTER trigger_event ON '테이블 명'

  [FOR EACH ROW]

  [WHEN (condition)]

  PL/SQL block

 

 * trigger event: INSERT, UPDATE, DELETE 중 한 개 이상

 

 

트리거의 용도

 - 테이블 생성시 참조 무결성과 데이터 무결성 그밖의 다른 제약 조건으로 정의할 수 없는 복잡한 요구사항에 대한 제약조건을 생성

 - 테이블의 데이터에 생기는 작업을 감시, 보안할 수 있다.

 - 테이블에 생기는 변화에 따라 필요한 다른 프로그램을 실행 시킬 수 있다.

 

 


'CSE > DataBase' 카테고리의 다른 글

[DataBase] PL/SQL 프로시저, 함수, 트리거  (0) 2015.06.12
[DataBase] PL/SQL 이란  (0) 2015.06.12
[DataBase] Oracle에 Excel 파일 Import  (0) 2015.06.12

다른 카테고리의 글 목록

CSE/DataBase 카테고리의 포스트를 톺아봅니다

[DataBase] PL/SQL 이란

2015.06.12 16:01 - Palpit
조회수 확인
Oracle's Procedural Language extension to SQL

오라클에서 제공하는 SQL을 확장한 절차적 프로그래밍 언어

특징 

 - SQL 문장에서 변수 정의, 조건 처리, 반복 처리 등 프로그래밍 언어가 보이는 제어 구조 제공

 - SQL과 프로그래밍 언어의 통합 접근 중 한 형태

 - ESQL, SQLJ 등의 기술과 달리 상용 프로그래밍 언어가 아닌 오라클 자체적인 프로그래밍 언어 사용

 

엔진 실행 구조



 

블록단위 구조

 

DECLARE -- 선택

 -- 변수, 상수, 커서, 사용자 지정 예외 선언

 

BEGIN -- 필수

 -- SQL 문장, PL/SQL 제어 문장

 

EXCEPTION -- 선택

 -- 에러 발생시 수행될 액션

 

END; -- 필수

 

 

블록 유형

 

익명(Anonymous): 이름이 없는 PL/SQL 블록

 

저장 프로시저(Stored Procedure) 및 함수(Function): 매개 변수를 받을 수 있고, 반복해서 사용할 수 있는 이름이 있는 PL/SQL 블록

 

패키지(Package): 관련된 저장 프로시저, 함수를 모은 이름이 있는 PL/SQL 블록

 

트리거(Trigger): 데이터베이스의 테이블과 연결되어 자동적으로 실행되는 이름이 있는 PL/SQL 블록

 

 


'CSE > DataBase' 카테고리의 다른 글

[DataBase] PL/SQL 프로시저, 함수, 트리거  (0) 2015.06.12
[DataBase] PL/SQL 이란  (0) 2015.06.12
[DataBase] Oracle에 Excel 파일 Import  (0) 2015.06.12

다른 카테고리의 글 목록

CSE/DataBase 카테고리의 포스트를 톺아봅니다

[DataBase] Oracle에 Excel 파일 Import

2015.06.12 16:00 - Palpit
조회수 확인
* 필자는 oracle database Expression 11g 를 사용한다.

 

위 버전을 설치하면 SQL Developer가 자동적으로 설치가 된다.

 

처음으로 실행을 시키면 java.exe 경로를 지정해 달라고 창이 뜬다.

 

이때, C 드라이브의 app 폴더에 자신이 지정한 PC 명 으로 들어가면 'product'라는 폴더가 있다.

(c:\app\'pc명'\product\'오라클 버전(11.2.0)'\client_1) 

 

위 경로 까지 들어간다.

 

그러면 여러 폴더중에 jdk 폴더가 있다.

 

jdk 폴더 까지의 경로를 복사해 온다. (ex. C:\app\Yeonsu\product\11.2.0\client_1\jdk)

 

그다음 확인을 누르면 OK!

 





 

실행이 되는 것을 확인할수 있다.

 

초기에는 위와 같이 실행 화면이 나타난다. 

(초기 에는 DBLAB과 같은 DB가 없을 것이다. 필자가 이미 세팅해놓은 상태이므로 보여짐)



 

여기서 왼쪽 탭에 접속이라 되있는 부분을 오른쪽 클릭하여 새접속을 클릭

 

필자는 학교에서 지원하는 서버를 사용하므로 위와 같은 세팅을 하였다. 

 

 

각자 알맞게 사용할 DB를 세팅한 후에, 

 

왼쪽 접속 하단에 자신의 접속 이름으로 만든 DB가 생성됨을 확인할 수있다.

 

DB를 펼쳐보면, 여러 요소들이 있는데 그중 테이블을 펼쳐서

자신이 입력한 테이블들을 볼수가 있다.

 

여기서 해당 테이블을 선택하여 오른쪽 클릭하여 데이터 임포트를 누른다.

 

그러면 초기에 해당 엑셀 파일을 찾기 위한 파일 선택창이 나온다.

(* 주의 : 엑셀 파일은 xlsx가 아닌 .xls 확장명으로 변환 해야 한다.)

 

액셀 파일을 불러 들여오면, 해당 컬럼 이름과 데이터들이 입력이 되는데

 

열선택을 하여 컬럼을 지정한뒤 , 다음을 누른다.

 

그러면 자신이 쓰기 위한 열들을 선택하여 오른쪽으로 넘긴 뒤, 다음을 누른다.

 

여기서 현재 작성된 테이블과 엑셀의 열들이 매칭이 되어야 하는데, 

이름이 같으면 자동적으로 매칭이 되지만, 조금이라도 틀리면 자신이 맞춰줘야한다.

 

하나 하나 보면서, 매칭이 되었는지 확인하고 다음으로 넘어가자.

 

다음으로 넘어가면 임포트전 매개변수 확인을 눌, 

success가 뜨는지 확인후 완료를 누르면 import 끝난다.

 

Import한 후에는 commit을 잊지말자!!

 

끝!



'CSE > DataBase' 카테고리의 다른 글

[DataBase] PL/SQL 프로시저, 함수, 트리거  (0) 2015.06.12
[DataBase] PL/SQL 이란  (0) 2015.06.12
[DataBase] Oracle에 Excel 파일 Import  (0) 2015.06.12

다른 카테고리의 글 목록

CSE/DataBase 카테고리의 포스트를 톺아봅니다