이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 토토 사이트 추천 생성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 스포츠 토토 결과

이름

CREATE TYPE -- 새 데이터 스포츠 토토 결과 정의

시놉시스

스포츠 토토 결과 생성이름AS
    (속성_이름 데이터_스포츠 토토 결과[, ... ] )

스포츠 토토 결과 생성이름(
    입력 =input_function,
    출력 =출력_기능[ , 수신 =receive_function]
    [ , 보내기 =send_function]
    [ , 분석 =분석_기능]
    [ , 내부 길이 =내부 길이| 변수  ]
    [ , 통과값 ]
    [ , 정렬 =정렬]
    [ , 저장용량 =저장]
    [ , 기본값 =기본값]
    [ , 요소 =요소]
    [ , 구분 기호 =구분자 ]
)

설명

스포츠 토토 결과 생성새 데이터 유형을 등록합니다 현재 데이터베이스에서 사용하기 위해. 유형을 정의하는 사용자 소유자가 됩니다.

스키마 이름이 주어지면 유형은 지정된 스키마. 그렇지 않으면 현재 스키마에 생성됩니다. 유형 이름은 기존 유형의 이름과 달라야 합니다. 또는 동일한 스키마의 도메인. (테이블이 연관되어 있기 때문에 데이터 유형의 경우 유형 이름은 데이터 유형의 이름과도 구별되어야 합니다. 동일한 스키마에 있는 모든 기존 테이블.)

복합 스포츠 토토 결과

첫 번째 형식스포츠 토토 결과 생성복합 스포츠 토토 결과을 생성합니다. 복합 스포츠 토토 결과은 속성 이름 및 데이터 유형 목록입니다. 이는 본질적으로 테이블의 행 유형과 동일하지만,스포츠 토토 결과 생성실제 생성이 필요하지 않습니다. 테이블에서 원하는 것은 유형을 정의하는 것뿐입니다. 에이 독립형 복합 스포츠 토토 결과은 인수 또는 반환으로 유용합니다. 함수의 종류입니다.

기본 스포츠 토토 결과

두 번째 형태스포츠 토토 결과 생성새 기본 스포츠 토토 결과(스칼라 유형)을 생성합니다. 매개변수는 다음과 같습니다. 위에서 설명한 것뿐만 아니라 대부분의 순서대로 나타납니다. 선택 사항입니다. 두 개 이상의 기능을 등록해야 합니다(를 사용하여)함수 생성)을 정의하기 전에 유형. 지원 기능input_function그리고output_function필수이지만 기능receive_function, send_function그리고분석_기능선택사항입니다. 일반적으로 이러한 함수는 C 또는 다른 하위 수준으로 코딩되어야 합니다. 언어.

input_function개종하다 스포츠 토토 결과의 외부 텍스트 표현을 내부로 에 대해 정의된 연산자 및 함수에 사용되는 표현 종류.출력_기능역변환을 수행합니다. 입력 기능은 다음과 같습니다. 유형의 인수 하나를 취하는 것으로 선언됨cstring, 또는 세 가지 스포츠 토토 결과의 인수를 사용하여cstring, oid, 정수. 첫 번째 인수는 입력입니다. 텍스트를 C 문자열로 사용하는 경우 두 번째 인수는 요소 유형의 배열 스포츠 토토 결과인 경우 OID(또는 유형의 자체 OID) 복합 스포츠 토토 결과), 세 번째는typmod알려진 경우 대상 열의 (-1 그렇지 않은 경우 통과됩니다.) 입력 함수는 다음을 반환해야 합니다. 데이터 유형 자체의 값입니다. 출력 기능은 다음과 같습니다. 새로운 데이터 유형의 인수 하나를 취하는 것으로 선언되거나 두 번째 인수가 유형인 두 개의 인수를 사용합니다.oid. 두 번째 인수는 다시 배열 요소입니다. 배열 스포츠 토토 결과의 경우 OID 유형을, 복합 스포츠 토토 결과의 경우 OID 유형을 사용합니다. 출력 함수는 유형을 반환해야 합니다.cstring.

선택사항receive_function유형의 변환 외부 이진 표현을 내부 표현으로. 이 함수가 제공되지 않으면 해당 유형이 참여할 수 없습니다. 바이너리 입력에서. 이진 표현을 선택해야 합니다. 합리적으로 내부 형식으로 변환하는 데 비용이 적게 듭니다. 휴대용. (예를 들어, 표준 정수 데이터 유형은 다음을 사용합니다. 외부 바이너리 표현으로 네트워크 바이트 순서를 사용하는 반면, 내부 표현은 머신의 기본 바이트에 있습니다. 순서.) 수신 기능은 적절한 검사를 수행해야 합니다 값이 유효한지 확인합니다. 수신 기능은 다음과 같습니다. 유형의 인수 하나를 취하는 것으로 선언됨내부또는 두 가지 스포츠 토토 결과의 인수내부그리고oid. 반드시 데이터 스포츠 토토 결과 자체의 값을 반환합니다. (첫번째 주장은 a에 대한 포인터문자열정보버퍼 보유 수신된 바이트 문자열; 선택적 두 번째 인수는 배열 스포츠 토토 결과인 경우 요소 유형 OID이거나 해당 유형의 복합 스포츠 토토 결과에 대한 자체 OID입니다.) 마찬가지로 선택 사항인send_function에서 변환합니다. 내부 표현을 외부 이진 표현으로. 이 함수가 제공되지 않으면 해당 유형이 참여할 수 없습니다. 바이너리 출력에서. 보내기 기능은 다음과 같이 선언될 수 있습니다. 새로운 데이터 유형의 하나의 인수 또는 두 개의 인수를 취하는 것 그 중 두 번째는 유형입니다.oid. 는 두 번째 인수는 다시 배열의 배열 요소 유형 OID입니다. 유형 또는 복합 스포츠 토토 결과의 경우 유형 OID입니다. 보내기 기능 유형을 반환해야 합니다.바이테아.

이 시점에서 당신은 입력과 출력 함수는 결과나 인수를 갖도록 선언될 수 있습니다. 새로운 유형보다 먼저 생성되어야 하는 경우 유형을 생성할 수 있습니다. 대답은 입력 기능이 다음과 같아야 한다는 것입니다. 먼저 생성된 다음 출력 기능(및 바이너리 I/O)이 생성됩니다. 원하는 경우 함수), 마지막으로 데이터 유형입니다.포스트그레SQL먼저 이름이 표시됩니다. 입력 함수의 반환 유형으로 새로운 데이터 유형. 그럴 것이다 생성하다"쉘"유형입니다. 단순히 시스템 카탈로그에 자리 표시자 항목을 추가하고 쉘 유형에 함수 정의를 입력합니다. 마찬가지로 다른 기능은 (현재 이미 존재함)에 연결됩니다. 쉘 유형. 마지막으로,스포츠 토토 결과 생성셸 항목을 완전한 스포츠 토토 결과 정의로 대체합니다. 새로운 스포츠 토토 결과을 사용할 수 있습니다.

선택사항분석_기능스포츠 토토 결과별 수행 데이터 스포츠 토토 결과의 열에 대한 통계 수집입니다. 기본적으로,분석수집을 시도할 것입니다 스포츠 토토 결과을 사용한 통계"같음"그리고"미만"연산자(있는 경우) 유형에 대한 기본 b-트리 연산자 클래스입니다. 스칼라가 아닌 경우 유형의 이 동작은 부적절할 가능성이 높으므로 사용자 정의 분석 기능을 지정하여 재정의됩니다. 는 분석 함수는 다음의 단일 인수를 취하도록 선언되어야 합니다. 유형내부, 그리고 a를 반환합니다.부울결과. 분석을 위한 상세 API 함수가 다음에 나타납니다.src/include/commands/vacuum.h.

새로운 유형의 내부 표현에 대한 세부사항은 I/O 기능 및 기타 기능에만 알려져 있습니다. 해당 유형과 함께 작동하도록 생성하면 다음과 같은 몇 가지 속성이 있습니다. 선언되어야 하는 내부 표현PostgreSQL. 이들 중 가장 중요한 이다내부 길이. 기본 데이터 스포츠 토토 결과은 고정 길이일 수 있으며, 이 경우내부 길이은 양의 정수이거나 설정으로 표시되는 가변 길이내부 길이변수. (내부적으로는 다음과 같이 표현됩니다. 설정타이플렌to -1.) 내부 모든 가변 길이 유형의 표현은 다음으로 시작해야 합니다. 이 값의 전체 길이를 제공하는 4바이트 정수 유형.

선택적 플래그PASSEDBYVALUE은 이 데이터 유형의 값이 값으로 전달됨을 나타냅니다. 참고로보다는. 다음과 같은 값 유형을 전달할 수 없습니다. 내부 표현이의 크기보다 큽니다.데이텀스포츠 토토 결과(대부분의 시스템에서는 4바이트, 8 몇 바이트).

정렬매개변수 데이터 유형에 필요한 스토리지 정렬을 지정합니다. 는 허용되는 값은 1, 2, 4 또는 8바이트 정렬과 동일합니다. 경계. 가변 길이 유형에는 반드시 를 포함하므로 최소 4개의 정렬이 필요합니다.int4첫 번째 구성요소로.

저장매개변수는 다음을 허용합니다. 가변 길이 데이터 유형에 대한 저장 전략 선택. (만일반허용됩니다 고정 길이 스포츠 토토 결과.)일반지정 해당 유형의 데이터는 항상 인라인으로 저장되며 압축되었습니다.확장다음을 지정합니다. 시스템은 먼저 긴 데이터 값을 압축하려고 시도하고 여전히 값이 너무 큰 경우 기본 테이블 행 밖으로 값을 이동합니다. 길다.외부값을 다음과 같이 허용합니다. 메인 테이블 밖으로 이동했지만 시스템에서는 이동을 시도하지 않습니다. 압축해 보세요.메인압축을 허용합니다. 하지만 값을 기본 테이블 밖으로 이동하는 것은 권장하지 않습니다. (데이터 이 저장 전략을 사용하는 항목은 여전히 저장소 밖으로 이동할 수 있습니다. 행을 적합하게 만드는 다른 방법이 없는 경우 기본 테이블 우선적으로 메인 테이블에 보관됩니다.확장그리고외부항목.)

사용자가 원하는 경우 기본값을 지정할 수 있습니다. 데이터 유형의 열은 기본적으로 null 값입니다. 를 사용하여 기본값을 지정합니다.기본값키워드. (이러한 기본값은 명시적으로 재정의됨기본값특정 열에 연결된 절입니다.)

유형이 배열임을 나타내려면, 를 사용하는 배열 요소요소키 단어. 예를 들어 4바이트 정수 배열을 정의하려면 (int4), 지정요소 = int4. 배열 스포츠 토토 결과에 대한 자세한 내용 아래에 나타납니다.

다음 값 사이에 사용되는 구분 기호를 나타냅니다. 이 유형의 배열의 외부 표현구분자특정으로 설정할 수 있습니다. 성격. 기본 구분 기호는 쉼표()입니다.,). 구분 기호는 다음과 연관되어 있습니다. 배열 스포츠 토토 결과 자체가 아닌 배열 요소 유형입니다.

배열 스포츠 토토 결과

사용자 정의 기본 데이터 스포츠 토토 결과이 생성될 때마다포스트그레SQL자동으로 이름이 다음으로 구성된 연관된 배열 스포츠 토토 결과을 생성합니다. 기본 스포츠 토토 결과의 이름 앞에 밑줄이 추가됩니다. 파서 이 명명 규칙을 이해하고 다음 요청을 번역합니다. 유형의 열foo[]요청에 스포츠 토토 결과에 대해_foo. 암시적으로 생성된 배열 스포츠 토토 결과은 가변 길이이며 내장 입력 및 출력 함수array_in그리고array_out.

이유가 왜 있는지 합리적으로 물어볼 수 있습니다.요소옵션, 시스템이 올바른 경우 자동으로 배열 스포츠 토토 결과을 지정합니다. 유용한 유일한 경우 사용요소이것은 당신이 내부적으로 배열인 고정 길이 유형 동일한 수의 항목이 있으며 이러한 항목을 허용하려고 합니다. 구독을 통해 직접 액세스할 수 있습니다. 해당 유형에 대해 제공하려는 작업이 무엇이든 전체. 예를 들어 다음을 입력하세요.이름허용합니다 구성성분문자액세스할 요소 이쪽으로. 2D포인트유형이 허용할 수 있음 다음과 같이 액세스할 수 있는 두 개의 구성 요소 번호점[0]그리고포인트[1]. 이 기능은 다음과 같은 고정 길이 유형에만 작동합니다. 내부 형식은 정확히 동일한 고정 길이의 시퀀스입니다. 필드. 첨자 가능한 가변 길이 유형에는 다음이 있어야 합니다. 다음에서 사용되는 일반화된 내부 표현array_in그리고array_out. 역사적인 이유로(즉, 이는 분명히 잘못된 것이지만 변경하기에는 너무 늦음), 고정 길이 배열의 첨자 스포츠 토토 결과은 1이 아닌 0부터 시작합니다. 가변 길이 배열.

매개변수

이름

대상 유형의 이름(선택적으로 스키마 한정) 생성되었습니다.

속성_이름

복합의 속성(열) 이름 유형.

데이터_스포츠 토토 결과

열이 될 기존 데이터 유형의 이름 복합 스포츠 토토 결과입니다.

input_function

데이터를 변환하는 함수의 이름 유형의 외부 텍스트 형식을 내부 형식으로 변환합니다.

출력_기능

데이터를 변환하는 함수의 이름 유형의 내부 형식을 외부 텍스트 형식으로 변환합니다.

receive_function

데이터를 변환하는 함수의 이름은 유형의 외부 바이너리 형식을 내부 형식으로 변환합니다.

send_function

데이터를 변환하는 함수의 이름 유형의 내부 형식을 외부 바이너리 형식으로 변환합니다.

분석_기능

통계를 수행하는 함수의 이름 데이터 유형에 대한 분석입니다.

내부 길이

길이를 바이트 단위로 지정하는 숫자 상수 새로운 유형의 내부 표현. 기본값 가변 길이라고 가정합니다.

정렬

데이터 유형의 저장 정렬 요구사항입니다. 만약에 지정되어야 합니다.문자, int2, int4또는더블; 기본값은int4.

저장

데이터 유형에 대한 저장 전략. 지정한 경우, 이어야 합니다일반, 외부, 확장, 또는메인; 기본값은일반.

기본값

데이터 유형의 기본값입니다. 이것을 생략하면, 기본값은 null입니다.

요소

생성되는 유형은 배열입니다. 이는 다음을 지정합니다. 배열 요소의 유형입니다.

구분자

값 사이에 사용되는 구분 문자입니다. 이 유형으로 구성된 배열입니다.

참고

사용자 정의 유형 이름은 밑줄로 시작할 수 없습니다 문자(_) 62세만 가능 긴 문자(또는 일반적으로NAMEDATALEN- 2, 대신NAMEDATALEN- 기타에는 1자 허용 이름). 밑줄로 시작하는 유형 이름은 예약되어 있습니다. 내부적으로 생성된 배열 스포츠 토토 결과 이름입니다.

PostgreSQL이전 버전 7.3에서는 대체하여 쉘 유형을 생성하지 않는 것이 관례였습니다. 함수의 유형 이름에 대한 전방 참조 자리 표시자 유사 유형불투명.cstring인수와 결과도 다음과 같이 선언됩니다.불투명7.3 이전. 받는 사람 오래된 덤프 파일 로딩을 지원합니다.만들기 스포츠 토토 결과다음을 사용하여 선언된 함수를 허용합니다불투명이지만 알림을 발행하고 올바른 스포츠 토토 결과을 사용하도록 함수 선언.

이 예는 복합 스포츠 토토 결과을 생성하고 이를 다음에서 사용합니다. 함수 정의:

CREATE TYPE compfoo AS (f1 int, f2 text);

함수 만들기 getfoo()는 SETOF compfoo를 $$로 반환합니다.
    SELECT fooid, fooname FROM foo
$$ 언어 SQL;

이 예는 기본 데이터 스포츠 토토 결과을 생성합니다.상자그런 다음 테이블 정의의 유형을 사용합니다.

CREATE TYPE 상자(
    내부 길이 = 16,
    입력 = my_box_in_function,
    출력 = my_box_out_function
);

테이블 생성 myboxes(
    ID 정수,
    설명 상자
);

내부 구조가상자은 4개의 배열float4요소, 우리는 아마도 대신에 사용하세요

CREATE TYPE 상자(
    내부 길이 = 16,
    입력 = my_box_in_function,
    출력 = my_box_out_function,
    요소 = float4
);

상자 값의 구성 요소 번호를 허용합니다. 구독을 통해 액세스됩니다. 그렇지 않으면 유형은 다음과 동일하게 동작합니다. 전에.

이 예는 대형 객체 유형을 생성하고 이를 다음에서 사용합니다. 테이블 정의:

유형 bigobj 생성(
    입력 = lo_filein, 출력 = lo_fileout,
    내부 길이 = 가변적
);
테이블 생성 big_objs(
    ID 정수,
    obj 빅OBJ
);

적절한 입력 및 출력 기능을 포함한 더 많은 예, 에 있습니다PostgreSQL : 문서 : 8.0 : 사용자 정의 사설 토토 사이트.

호환성

이것스포츠 토토 결과 작성명령은 a입니다포스트그레SQL확장. 가 있습니다.스포츠 토토 결과 작성SQL:1999의 문 및 나중에는 세부적으로 다소 다릅니다.