이 문서는 지원되지 않는 버전의 토토 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 8.16. 스포츠 토토 사이트 유형버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

8.15.

a복합 유형토토복합 유형의 값을 허용합니다

8.15.1.

다음은 복합재를 정의하는 두 가지 간단한 예입니다

유형 complex as (

구문은와 비슷합니다.생성, 필드 이름과 유형 만) 현재 포함될 수 있습니다.as키워드가 필수적입니다. 그것 없이는 시스템입니다생성명령이 의미하며 홀수 구문이 나타납니다

유형을 정의한 후, 우리는 그것들을 사용할 수 있습니다.

테이블 생성 on_hand (

또는 기능 :

함수 작성 price_extension (Inventory_item, Integer) 숫자를 반환합니다

테이블을 만들 때마다 복합 유형도

테이블 inventory_item 만들기 (

그런 다음inventory_item위에 표시된 복합 유형은적용하지 마십시오의 값에

8.15.2.

문자 그대로 상수로 복합 값을 작성하려면 Enclose

'(val1,val2, ...) '

예는 다음과 같습니다.

'( "퍼지 주사위", 42,1.99)'

|inventory_item위에 정의 된 유형. 만들기 위해

'( "퍼지 주사위", 42,)'

null이 아닌 빈 줄을 원한다면 더블을 쓰십시오.

'( "", 42,)'

여기서 첫 번째 필드는 널 비 빈 문자열, 세 번째 필드입니다.

(이 상수는 실제로 특별한 경우 일뿐입니다.섹션. 상수는 처음에 문자열로 취급됩니다

theRow표현 구문도 할 수 있습니다

행 ( '퍼지 주사위', 42, 1.99)

행 키워드는 실제로 선택 사항입니다.

( '퍼지 주사위', 42, 1.99)

theRowExpression Syntax IS섹션.

8.15.3.

복합 열의 필드에 액세스하려면 점이 씁니다.on_hand예제 테이블이 있습니다

item.name.name on_hand where.price 9.99; 이름을 선택하십시오.

이것은 이름 이후로 작동하지 않습니다항목필드가 아닌 테이블 이름으로 간주됩니다.

select (item) .name from on_hand where (item) .price 9.99;

또는 테이블 이름을 사용해야하는 경우 (예 :

select (on_hand.item) .name from on_hand where (on_hand.item) .price 9.99;

이제 괄호 화 된 객체는 올바르게 해석됩니다항목열, 그런 다음

필드를 선택할 때마다 유사한 구문 문제가 적용됩니다

select (my_func (...)). 필드에서 ...

여분의 괄호가 없으면 구문이 유발됩니다

8.15.4.

삽입을위한 적절한 구문의 몇 가지 예입니다.

mytab (complex_col) 값 ((1.1,2.2))에 삽입;

첫 번째 예는 생략Row,

복합재의 개별 하위 필드를 업데이트 할 수 있습니다

MyTab Set Complex_Col.r = (Complex_Col) .r + 1 Where ...; 업데이트

여기서 우리가 필요하지 않은 (그리고 실제로는 할 수 없음)SET, 그러나 우리는 언제 괄호가 필요합니다

그리고 우리는 서브 필드를 대상으로 지정할 수 있습니다삽입, 또한 :

mytab에 삽입 (complex_col.r, complex_col.i) 값 (1.1, 2.2);

우리는

8.15.5.

복합 값의 외부 텍스트 표현(and)) 전체 값 주위에,) 인접 항목 사이.

'(42)'

필드 유형이 정수 인 경우 공백은 무시됩니다.

이전에 표시된대로 복합 값을 작성할 때필수그렇다면 그렇게하십시오

완전히 빈 필드 값 (그 사이의 문자 없음"".

복합 출력 루틴에는 이중 인용문이 있습니다

참고 :SQL로 쓰는 내용을 기억하십시오텍스트필드

삽입 ... 값 (e '( "\\"\\\ ");

String-Literal 프로세서는 한 레벨을 제거합니다( "\"\\ "). ~ 안에텍스트데이터"\.BYTEA예를 들어, 우리는 많은 것만큼 필요할 수 있습니다섹션) 두 배를 피하기 위해 사용할 수 있습니다.

팁 :theRow생성자Row, 개인