저장 프로세스, 함수, 트리거

저장 프로세스, 함수, 트리거의 차이
항목 비교
저장 프로세스
함수.
반환 값이 있는지 여부
있어도 되고 없어도 된다
반드시 있어야 하고 오직 하나뿐이다
개별 실행 가능 여부
할 수 있다
excute를 통해 실행해야 합니다
SQL 명령문(DML 또는 SELECT)을 호출할 수 있는지 여부
안되다
예, FROM 키워드 뒤에 있을 수 있습니다(테이블 객체를 반환할 수 있으므로).
매개변수 유형
IN, OUT, IN OUT 세 가지 모드의 매개변수를 사용할 수 있습니다.
IN, OUT, IN OUT 세 가지 매개변수를 사용하는 Oracle 은 IN 뿐입니다.
반환 값 유형
OUT, IN OUT 매개변수를 사용하여 0개 이상의 매개변수 값을 반환할 수 있습니다.
단일 값 또는 테이블 객체
1) 일반적으로 저장 프로세스가 실현하는 기능은 좀 복잡하지만 함수가 실현하는 기능은 목적성이 비교적 강하다.2) 저장 프로세스는 일반적으로 하나의 독립된 부분으로 실행되고 (아래의'저장 프로세스 - 호출 방법'참조) 함수는 조회 문장의 한 부분으로 호출될 수 있다(select 뒤쪽이나from 뒤에 사용).함수는 테이블 대상을 되돌릴 수 있기 때문에, 검색 문장에서 FROM 키워드의 뒤에 있을 수 있습니다.
저장 프로세스
저장 프로세스(Stored Procedure)는 특정 기능을 완성하기 위한 SQL 문장 집합을 컴파일하여 데이터베이스에 저장한다.저장 프로세스는 문법 검사와 컴파일을 거친 SQL 문장이기 때문에 일반적인 SQL 문장보다 실행 속도가 빠르다.사용자는 저장 프로세스의 이름을 지정하고 매개 변수를 주어서 (만약 이 저장 프로세스에 매개 변수가 있다면) 그것을 실행합니다.
특징
  • 저장 프로세스는 만들 때만 컴파일하고 나중에 저장 프로세스를 실행하면 다시 컴파일할 필요가 없다. 일반적인 SQL 문장은 실행할 때마다 한 번씩 컴파일하기 때문에 저장 프로세스를 사용하면 데이터베이스 실행 속도를 높일 수 있다.
  • 데이터베이스에 대해 복잡한 조작을 할 때(예를 들어 여러 테이블에 Update, Insert,Query,Delete를 할 때) 이 복잡한 조작을 저장 프로세스로 봉인할 수 있다.
  • 과정 중 다른 저장 프로세스를 호출할 수 있다.저장 과정 중 함수를 호출할 수 있다.이것은 일련의 복잡한 문장을 간소화할 수 있다.
  • 보안 수준이 높아 사용자가 지정한 스토리지 프로세스에 대한 사용 권한을 설정할 수 있습니다.
  • 매개변수에는 여러 매개변수 값을 반환하는 세 가지(IN, OUT, IN OUT)가 있습니다.
  • ORACLE에서 몇 가지 연결된 과정을 조합하여 패키지를 구성할 수 있다.
  • 저장 프로세스는 데이터베이스 중의 중요한 대상으로 어떤 디자인이 좋은 데이터베이스 응용 프로그램이든 저장 프로세스를 사용해야 한다.

  • 결점
  • 이식이 불가능하고 각 데이터베이스의 내부 프로그래밍 문법이 같지 않기 때문에 여러 데이터베이스를 호환해야 할 때 저장 프로세스를 사용하지 않는 것이 좋다.
  • 업무 논리가 여러 군데 존재하는데 저장 프로세스를 사용한 후에 당신의 시스템이 응용 프로그램에서 처리하지 않는 업무 논리가 있다는 것을 의미한다. 이런 구조는 시스템 유지보수와 디버깅 비용을 증가시킬 수 있다.
  • http://blog.csdn.net/next_sun/article/details/7397283

  • 기본 문법
    
    create procedure <   >(<    ,     >) as|isbeginexceptionend <   >;
      :<   > in|out|in out <    ,     > , :v_name varchar2
    in:  
    out:  
    in out:   
     :as|is  as is
    

    문법
    호출 구문:
    1) exec<프로세스명>;
    2) execute <프로세스 이름>;
    3) Oracle 데이터베이스의 경우 PL/SQL 문 블록에서 직접 호출할 수 있습니다.(Oracle)
    함수.
    데이터베이스의 함수는 내장 함수와 사용자 정의 함수를 포함하고 내장 함수는 SUM(), COUNT(), AVG() 등 데이터베이스에 내장된 함수이다.일반적으로 우리가 작성한 함수는 모두 사용자 정의 함수에 속한다.
    특징
  • 함수는 하나의 매개변수(IN)만 있고 RETURN 문은 하나뿐이며 단일 값만 반환할 수 있습니다.
  • SQL 명령문(DML 또는 SELECT)에서 함수를 호출할 수 있습니다.함수는 테이블 대상을 되돌릴 수 있기 때문에, 검색 문장에서 FROM 키워드의 뒤에 있을 수 있습니다.

  • 기본 문법
    create function <   >(<    ,     >)
    return <     ,     >
    as|is
        、   
    beginreturn <    >;
    exceptionend <   >;
      :in   
     :       。

    문법
    1) Oracle 데이터베이스의 경우 SQL 명령문(DML 또는 SELECT)에서 함수 2 호출)을 PL/SQL 명령문 블록에서 직접 호출할 수 있습니다.(Oracle)
    트리거
    트리거는 특수한 저장 프로세스로 저장 프로세스는 프로그램 호출이 필요하고 트리거는 자동으로 실행된다.

    좋은 웹페이지 즐겨찾기