이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다스포츠 토토 베트맨 : 문서 : 17 : 41.1. 개요버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

40.1. 개요

PL/PGSQL|PostgreSQL데이터베이스 시스템. 의 디자인 목표pl/pgsql|

  • 함수 및 트리거 절차를 생성하는 데 사용될 수 있습니다.

  • 제어 구조 추가SQL언어,

  • 복잡한 계산을 수행 할 수 있습니다.

  • 모든 사용자 정의 유형, 기능 및 연산자를 상속받습니다.

  • 서버에서 신뢰할 수 있도록 정의 할 수 있습니다.

  • 사용하기 쉽습니다.

pl/pgsql내장 기능을 사용할 수있는 모든 곳에서 사용할 수 있습니다. 예를 들어, 복잡한 조건부 계산 기능을 작성하고 나중에 사용하여 연산자를 정의하거나 색인 표현식으로 사용할 수 있습니다.

in토토 사이트 추천9.0 이상,pl/pgsql기본적으로 설치됩니다. 그러나 여전히로드 가능한 모듈이므로 특히 보안 의식 관리자가 제거를 선택할 수 있습니다.

40.1.1. 사용의 장점pl/pgsql

SQL언어입니다PostgreSQL및 대부분의 다른 관계형 데이터베이스는 쿼리 언어로 사용합니다. 휴대하기 쉽고 배우기 쉽습니다. 하지만 모든SQL문을 데이터베이스 서버에서 개별적으로 실행해야합니다.

즉, 클라이언트 애플리케이션은 각 쿼리가 데이터베이스 서버로 보내야하고, 결과를 처리하고, 결과를 수신 및 처리하고, 계산을 수행 한 다음 서버로 추가 쿼리를 보냅니다. 이 모든 것은 간호사 통신을 발생 시키며 클라이언트가 데이터베이스 서버와 다른 컴퓨터에있는 경우 네트워크 오버 헤드도 발생합니다.

withpl/pgsql계산 블록과 일련의 쿼리를 그룹화 할 수 있습니다내부데이터베이스 서버, 따라서 절차 적 언어의 힘과 SQL의 사용 편의성을 갖지만 클라이언트/서버 통신 오버 헤드가 상당히 절약됩니다.

  • 클라이언트와 서버 간의 추가 라운드 트립이 제거

  • 클라이언트가 필요하지 않은 중간 결과 서버와 클라이언트 사이에 마샬링되거나 전송 될 필요가 없습니다

  • 여러 라운드의 쿼리 구문 분석을 피할 수 있습니다

저장된 기능을 사용하지 않는 응용 프로그램에 비해 상당한 성능이 증가 할 수 있습니다.

또한pl/pgsqlSQL의 모든 데이터 유형, 연산자 및 함수를 사용할 수 있습니다.

40.1.2. 지원되는 인수 및 결과 데이터 유형

retmentpl/pgsql서버에서 지원하는 스칼라 또는 배열 데이터 유형 인수로 인수 할 수 있으며 이러한 유형의 결과를 반환 할 수 있습니다. 또한 이름으로 지정된 복합 유형 (행 유형)을 수락하거나 반환 할 수 있습니다. 선언하는 것도 가능합니다pl/pgsql반환으로 기능레코드, 결과는 호출 쿼리의 사양에 따라 열이 결정되는 행 유형입니다.섹션 7.2.1.4.

pl/pgsql함수는를 사용하여 변수 수의 인수를 수락하도록 선언 할 수 있습니다variadic마커. 이것은 SQL 기능과 정확히 동일한 방식으로 작동합니다.섹션 35.4.5.

pl/pgsql기능은 다형성 유형을 수락하고 반환하도록 선언 할 수 있습니다Anylement, AnyArray, AnynonArray, AnyEnumAnyRange. 다형성 기능으로 처리되는 실제 데이터 유형은 전화마다 다를 수 있습니다.섹션 35.2.5. 예제가에 표시됩니다.섹션 40.3.1.

PL/PGSQL함수는 또한 a를 반환하도록 선언 할 수 있습니다."set"(또는 테이블) 단일 인스턴스로 반환 할 수있는 데이터 유형의. 이러한 함수는 실행하여 출력을 생성합니다다음 반환결과 세트의 원하는 각 요소에 대해 또는 사용하여return query쿼리 평가 결과를 출력하려면

드디어, apl/pgsql함수는 반환으로 선언 할 수 있습니다void유용한 반환 값이없는 경우

pl/pgsql반환 유형의 명시 적 사양 대신 출력 매개 변수로 기능을 선언 할 수도 있습니다. 이것은 언어에 기본 기능을 추가하지는 않지만 특히 여러 값을 반환하는 데 편리합니다. 그만큼테이블 리턴표기법도 대신 사용할 수 있습니다returns setof.

구체적인 예가 나타납니다섹션 40.3.1and섹션 40.6.1.