이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 토토 사이트 추천 생성버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

운영자 생성

운영자 생성 - 새 스포츠 토토 정의

시놉시스

운영자 생성이름(
    기능 | 프로 시저 =function_name[, leftarg =left_type] [, rightarg =right_type]
    [, 통근자 =com_op] [, Negator =NEG_OP]
    [, 제한 =RES_PROC] [, join =join_proc]
    [, 해시] [, 합병]
)

설명

운영자 생성새 스포츠 토토 정의이름. 운영자를 정의하는 사용자는 소유자가됩니다. 스키마 이름이 주어지면 지정된 스키마에서 스포츠 토토가 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다.

운영자 이름은 최대의 시퀀스입니다.지명-1 (기본적으로 63) 다음 목록에서 문자 :


+-*/< = ~! @#%^& | `?

선택한 이름에 몇 가지 제한 사항이 있습니다 :

  • --/*댓글의 시작으로 취해지기 때문에 스포츠 토토 이름의 어느 곳에도 나타날 수 없습니다.

  • 멀티 카리터 스포츠 토토 이름은 끝날 수 없습니다+또는-, 이름에 다음 문자 중 하나 이상을 포함하지 않는 한 :


    ~! @#%^& | `?

    예를 들어@-허용 스포츠 토토 이름이지만*-그렇지 않습니다. 이 제한은 허용PostgreSQL토큰 사이의 공간이 필요하지 않고 SQL 호환 명령을 구문 분석합니다.

  • 기호=SQL 문법에 의해 예약되어 있으므로 스포츠 토토 이름으로 사용할 수 없습니다.

스포츠 토토! =<입력에 있어서이 두 이름은 항상 동일합니다.

이진 스포츠 토토의 경우, 둘 다왼쪽andRightarg정의해야합니다. 접두사 스포츠 토토 만Rightarg정의해야합니다. 그만큼function_name함수는 이전에 사용하여 정의되어 있어야합니다기능 만들기지시 된 유형의 올바른 인수 (1-2 개)를 수락하도록 정의되어야합니다.

의 구문에서운영자 생성, 키워드기능절차동일하지만 참조 된 함수는 절차가 아닌 함수 여야합니다. 키워드 사용절차여기 역사적이고 더 이상 사용되지 않습니다.

다른 조항은 선택적 운영자 최적화 속성을 지정합니다. 그들의 의미는에 자세히 설명되어 있습니다.PostgreSQL : 문서 : 18 : 36.15. 범퍼카 토토 최적화 정보.

스포츠 토토를 만들 수 있으려면usage인수 유형 및 반환 유형에 대한 특권 및execute기본 기능에 대한 특권. 정류자 또는 부정관 스포츠 토토가 지정된 경우 해당 스포츠 토토를 소유해야합니다.

매개 변수

이름

정의 할 스포츠 토토의 이름. 허용 가능한 문자는 위를 참조하십시오. 이름은 스키마 자격을 얻을 수 있습니다 (예 :운영자 생성 myschema.+ (...). 그렇지 않은 경우, 운영자는 현재 스키마에서 생성됩니다. 동일한 스키마의 두 스포츠 토토가 다른 데이터 유형에서 작동하는 경우 동일한 이름을 가질 수 있습니다. 이것을라고합니다.과부하.

function_name

이 스포츠 토토를 구현하는 데 사용되는 함수.

left_type

운영자의 왼쪽 피스포츠 토토의 데이터 유형 (있는 경우). 이 옵션은 접두사 스포츠 토토에게는 생략됩니다.

right_type

운영자의 오른쪽 피스포츠 토토의 데이터 유형.

com_op

이 스포츠 토토의 통근자.

NEG_OP

이 스포츠 토토의 부정 자.

RES_PROC

이 스포츠 토토의 제한 선택성 추정기 기능.

join_proc

이 스포츠 토토의 결합 선택성 추정기 기능.

해시

이 스포츠 토토가 해시 조인을 지원할 수 있음을 나타냅니다.

병합

이 스포츠 토토가 합병 조인을 지원할 수 있음을 나타냅니다.

스키마 자격을 갖춘 스포츠 토토 이름을 제공하려면com_op또는 다른 선택적 인수, 사용Operator ()구문, 예 :

Commutator = Operator (MySchema. ===),

노트

참조PostgreSQL : 문서 : 18 : 36.14. 사용자 정의 윈 토토andPostgreSQL : 문서 : 18 : 36.15. 범퍼카 토토 최적화 정보자세한 내용은

자기 응고 스포츠 토토를 정의 할 때 그냥 그렇게합니다. 한 쌍의 정류 스포츠 토토를 정의 할 때는 상황이 조금 까다로워집니다. 어떻게 정의 될 첫 번째는 어떻게 다른 하나를 언급 할 수 있습니까? 이 문제에 대한 세 가지 해결책이 있습니다.

  • 한 가지 방법은를 생략하는 것입니다.Commutator당신이 정의한 첫 번째 스포츠 토토의 절을 한 다음 두 번째 스포츠 토토의 정의에서 제공합니다. 부터PostgreSQL정류 스포츠 토토가 쌍을 이루는 것을 알고 있습니다. 두 번째 정의를 볼 때 자동으로 돌아가서 누락 된 것을 채우게됩니다Commutator첫 번째 정의의 조항.

  • 더 간단한 방법은 단지 포함하는 것입니다Commutator두 정의의 조항. 언제PostgreSQL첫 번째 정의를 처리하고Commutator존재하지 않는 스포츠 토토를 말하면 시스템은 시스템 카탈로그에서 해당 스포츠 토토에게 더미 입력을 만듭니다. 이 더미 항목은 운영자 이름, 왼쪽 및 오른쪽 피스포츠 토토 유형 및 소유자에 대해서만 유효한 데이터를 갖습니다.PostgreSQL이 시점에서 추론 할 수 있습니다. 첫 번째 운영자의 카탈로그 항목은이 더미 항목에 연결됩니다. 나중에 두 번째 스포츠 토토를 정의하면 시스템이 두 번째 정의의 추가 정보로 더미 항목을 업데이트합니다. 더미 스포츠 토토가 채워지기 전에 사용하려고하면 오류 메시지 만 얻게됩니다.

  • 또는 두 스포츠 토토 모두 정의 할 수 있습니다CommutatorClauses and운영자 변경는 통근자 링크를 설정하는 데 사용할 수 있습니다. 충분합니다Alter두 쌍 중 하나입니다.

세 가지 경우 모두 통근자로 표시하려면 두 스포츠 토토를 소유해야합니다.

정류기 쌍과 동일한 방법을 사용하여 부정 자 스포츠 토토 쌍을 정의 할 수 있습니다.

운영자의 어휘 우선 순위를 지정할 수 없습니다운영자 생성, 파서의 우선 순위 동작은 유선이 어려워 졌기 때문입니다. 보다섹션 4.1.6우선 순위 세부 사항은

쓸모없는 옵션Sort1, Sort2, LTCMPgtcmp이전에는 합병 가능한 스포츠 토토와 관련된 정렬 스포츠 토토의 이름을 지정하는 데 사용되었습니다. 관련 운영자에 대한 정보는 대신 B- 트리 운영자 패밀리를 보면서 발견되기 때문에 더 이상 필요하지 않습니다. 이러한 옵션 중 하나가 제공되면 암시 적으로 설정을 제외하고는 무시됩니다병합true.

use드롭 스포츠 토토데이터베이스에서 사용자 정의 스포츠 토토를 삭제합니다. 사용Alter Operator데이터베이스에서 스포츠 토토를 수정하려면

다음 명령은 데이터 유형에 대한 새 스포츠 토토, 영역 평등을 정의합니다Box:

생성 스포츠 토토 === (
    leftarg = 상자,
    rightarg = 상자,
    function = area_equal_function,
    통근자 = ===,
    부정기 =! ==,
    제한 = Area_Restriction_Function,
    join = area_join_function,
    해시, 합병
);

호환성

운영자 만들기isPostgreSQL확장. SQL 표준에는 사용자 정의 스포츠 토토에 대한 조항이 없습니다.