이 문서는 지원되지 않는 Postgre사설 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.스포츠 토토 베트맨 : 문서 : 17 : 41.1. 개요버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

38.1. 개요

PL/pg사설 토토로드 가능합니다 의 절차적 언어포스트그레사설 토토데이터베이스 시스템. 디자인 목표 의PL/pg사설 토토을 만들려고 했는데요 로드 가능한 절차적 언어

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

  • 제어 구조를 다음에 추가합니다사설 토토언어,

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

  • 모든 사용자 정의 유형, 함수 및 연산자,

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

  • 사용하기 쉽습니다.

다음으로 생성된 함수PL/pg사설 토토내장된 어느 곳에서나 사용할 수 있습니다. 기능을 사용할 수 있었습니다. 예를 들어 다음을 생성할 수 있습니다. 복잡한 조건부 계산 함수를 사용하고 나중에 이를 사용하여 연산자를 정의하거나 색인 표현식에 사용하세요.

38.1.1. 사용의 장점PL/pg사설 토토

사설 토토언어입니다Postgre사설 토토및 기타 대부분 관계형 데이터베이스는 쿼리 언어로 사용됩니다. 휴대성이 좋고 배우기 쉽다. 하지만 매사설 토토문은 데이터베이스에 의해 개별적으로 실행되어야 합니다. 서버.

즉, 클라이언트 응용프로그램이 각 쿼리를 보내야 함을 의미합니다 데이터베이스 서버로 이동하여 처리될 때까지 기다린 후 수신 결과를 처리하고 계산을 수행한 다음 추가로 전송합니다. 서버에 쿼리합니다. 이 모든 것은 프로세스 간을 발생시킵니다. 통신을 수행할 경우 네트워크 오버헤드도 발생합니다. 클라이언트가 데이터베이스 서버와 다른 시스템에 있습니다.

함께PL/pg사설 토토그룹화할 수 있습니다 계산 블록과 일련의 쿼리내부데이터베이스 서버, 따라서 절차적 언어의 힘과 사용의 용이성 사설 토토을 사용하지만 클라이언트/서버 비용을 상당히 절약할 수 있습니다. 통신 오버헤드.

  • 클라이언트와 서버 간의 추가 왕복은 다음과 같습니다. 제거됨

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

  • 여러 차례의 쿼리 구문 분석을 피할 수 있습니다.

이것은 다음과 같이 상당한 성능 향상을 가져올 수 있습니다. 저장된 응용 프로그램을 사용하지 않는 응용 프로그램과 비교 기능.

또한,PL/pg사설 토토당신은 할 수 있어요 사설 토토의 모든 데이터 유형, 연산자 및 함수를 사용합니다.

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

다음에 작성된 기능PL/pg사설 토토인수로 무엇이든 받아들일 수 있습니다. 서버에서 지원하는 스칼라 또는 배열 데이터 유형이며 다음을 수행할 수 있습니다. 이러한 유형 중 하나의 결과를 반환합니다. 그들은 또한 수락하거나 이름으로 지정된 복합 유형(행 유형)을 반환합니다. 그것은 a를 선언하는 것도 가능합니다.PL/pg사설 토토반환 기능기록, 결과가 행 유형임을 의미합니다. 해당 열은 호출의 사양에 따라 결정됩니다. 쿼리(에서 설명한 대로)섹션 7.2.1.4.

PL/pg사설 토토함수는 다음과 같습니다. 를 사용하여 가변 개수의 인수를 허용하도록 선언했습니다.VARIADIC마커. 이것은 정확하게 작동합니다 설명된 사설 토토 함수와 동일한 방식입니다.섹션 34.4.4.

PL/pg사설 토토함수는 또한 다형성 유형을 허용하고 반환하도록 선언됩니다.모든 요소, 임의 배열, anynonarray안예눔. 에서 처리하는 실제 데이터 유형 다형성 함수는 설명한 대로 호출마다 다를 수 있습니다. 에서섹션 34.2.5. 예는 다음과 같습니다.섹션 38.3.1.

PL/pg사설 토토함수도 가능 a를 반환한다고 선언됩니다."설정"(또는 테이블) 단일로 반환될 수 있는 모든 데이터 유형의 인스턴스. 이러한 함수는 다음을 실행하여 출력을 생성합니다.다음으로 돌아가기원하는 각 요소에 대해 결과 세트 또는 다음을 사용하여반환 쿼리쿼리 평가 결과를 출력합니다.

마지막으로, aPL/pg사설 토토함수를 반환하도록 선언할 수 있습니다.무효유용한 반환 값이 없는 경우.

PL/pg사설 토토함수도 가능 명시적 매개변수 대신 출력 매개변수를 사용하여 선언해야 합니다. 반환 유형 지정. 이것은 아무것도 추가하지 않습니다 언어에 대한 기본적인 능력이지만 종종 특히 여러 값을 반환할 때 편리합니다.반품 테이블표기법은 다음과 같습니다. 대신에 사용됨SETOF 반환.

구체적인 예는 다음에 나타납니다.섹션 38.3.1그리고섹션 38.6.1.