운영자 생성 - 새 스포츠 토토 정의
운영자 생성이름
( 기능 | 프로 시저 =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이 시점에서 추론 할 수 있습니다. 첫 번째 운영자의 카탈로그 항목은이 더미 항목에 연결됩니다. 나중에 두 번째 스포츠 토토를 정의하면 시스템이 두 번째 정의의 추가 정보로 더미 항목을 업데이트합니다. 더미 스포츠 토토가 채워지기 전에 사용하려고하면 오류 메시지 만 얻게됩니다.
또는 두 스포츠 토토 모두 정의 할 수 있습니다Commutator
Clauses and운영자 변경
는 통근자 링크를 설정하는 데 사용할 수 있습니다. 충분합니다Alter
두 쌍 중 하나입니다.
세 가지 경우 모두 통근자로 표시하려면 두 스포츠 토토를 소유해야합니다.
정류기 쌍과 동일한 방법을 사용하여 부정 자 스포츠 토토 쌍을 정의 할 수 있습니다.
운영자의 어휘 우선 순위를 지정할 수 없습니다운영자 생성
, 파서의 우선 순위 동작은 유선이 어려워 졌기 때문입니다. 보다섹션 4.1.6우선 순위 세부 사항은
쓸모없는 옵션Sort1
, Sort2
, LTCMP
및gtcmp
이전에는 합병 가능한 스포츠 토토와 관련된 정렬 스포츠 토토의 이름을 지정하는 데 사용되었습니다. 관련 운영자에 대한 정보는 대신 B- 트리 운영자 패밀리를 보면서 발견되기 때문에 더 이상 필요하지 않습니다. 이러한 옵션 중 하나가 제공되면 암시 적으로 설정을 제외하고는 무시됩니다병합
true.
use드롭 스포츠 토토
데이터베이스에서 사용자 정의 스포츠 토토를 삭제합니다. 사용Alter Operator
데이터베이스에서 스포츠 토토를 수정하려면
다음 명령은 데이터 유형에 대한 새 스포츠 토토, 영역 평등을 정의합니다Box
:
생성 스포츠 토토 === ( leftarg = 상자, rightarg = 상자, function = area_equal_function, 통근자 = ===, 부정기 =! ==, 제한 = Area_Restriction_Function, join = area_join_function, 해시, 합병 );
운영자 만들기
isPostgreSQL확장. SQL 표준에는 사용자 정의 스포츠 토토에 대한 조항이 없습니다.