| 젠 토토 : 문서 : 9.6 : 젠 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.6 : 사용자 정의 토토 커뮤니티 | Postgre무지개 토토 : 문서 : 9.6 : 무지개 토토 확장 | 36장. 확장SQL | 다음 |
모든 운영자는"구문 설탕"실제 작업을 수행하는 기본 함수 호출용; 따라서 배트맨 토토를 생성하기 전에 먼저 기본 함수를 생성해야 합니다. 그러나 배트맨 토토는단지구문 설탕. 쿼리 플래너가 연산자를 사용하는 쿼리를 최적화하는 데 도움이 되는 추가 정보를 전달하기 때문입니다. 다음 섹션에서는 추가 정보를 설명하겠습니다.
PostgreSQL왼쪽 단항, 오른쪽 단항 및 이진 연산자를 지원합니다. 연산자가 오버로드될 수 있습니다. 즉, 피연산자의 수와 유형이 다른 여러 연산자에 동일한 연산자 이름을 사용할 수 있습니다. 쿼리가 실행되면 시스템은 제공된 피연산자의 수와 유형을 바탕으로 호출할 연산자를 결정합니다.
다음은 두 개의 복소수를 더하기 위한 연산자를 생성하는 예입니다. 유형 정의를 이미 생성했다고 가정합니다.복잡한(참조PostgreSQL : 문서 : 9.6 : 사용자 정의 토토 커뮤니티). 먼저 작업을 수행하는 함수가 필요하고 배트맨 토토를 정의할 수 있습니다.
CREATE FUNCTION complex_add(복잡함,복잡함)
반품 콤플렉스
그대로 '파일 이름', '복합_추가'
언어 C 불변 STRICT;
배트맨 토토 만들기 + (
leftarg = 복잡함,
rightarg = 복잡함,
프로시저 = complex_add,
정류자 = +
);
이제 다음과 같은 쿼리를 실행할 수 있습니다:
SELECT (a + b) AS c FROM test_complex;
ㄷ
-----------------
(5.2,6.05)
(133.42,144.95)
우리는 여기서 이진 연산자를 생성하는 방법을 보여주었습니다. 단항 연산자를 생성하려면 다음 중 하나를 생략하면 됩니다.leftarg(왼쪽 단항의 경우) 또는rightarg(오른쪽 단항의 경우).절차절과 인수 절은 에서 유일한 필수 항목입니다.배트맨 토토 생성.정류자12528_12625정류자및 기타 최적화 힌트는 다음 섹션에 나타납니다.