젠 토토 : 문서 : 9.6 : 젠 | |||
---|---|---|---|
스포츠 토토 베트맨 postgresql : 문서 : 9.6 : sepgsql | PostgreSQL : 문서 : 9.6 : 추가 제공 토토 사이트 추천 | 부록 F. 추가 공급 모듈 | postgresql : 문서 : 9.6 : 스포츠 토토info |
theSPI모듈은 사용의 몇 가지 실행 가능한 예를 제공합니다.토토 꽁 머니 PostgreSQL:(SPI) 및 트리거. 이러한 기능은 그 자체로 어떤 가치가 있지만, 그들은 자신의 목적을 위해 수정하는 예로 더 유용합니다. 기능은 모든 스포츠 토토 결과과 함께 사용하기에 충분히 일반적이지만 트리거를 생성하는 동안 스포츠 토토 결과 및 필드 이름 (아래 설명대로)을 지정해야합니다..
아래에 설명 된 각 기능 그룹은 별도로 설치 가능한 확장으로 제공됩니다.
check_primary_key ()
andcheck_foreign_key ()
는 외국의 주요 제약 조건을 확인하는 데 사용됩니다. (이 기능은 물론 내장 된 외국 키 메커니즘에 의해 대체 된 지 오래되었지만 모듈은 여전히 예제로 유용합니다.)
check_primary_key ()
참조 스포츠 토토 결과을 확인합니다. 사용하려면 A 생성삽입 또는 업데이트 전다른 스포츠 토토 결과을 참조하는 스포츠 토토 결과 에서이 함수를 사용하는 트리거. 트리거 인수로 지정하십시오 : 참조 스포츠 토토 결과의 열 이름을 기본/고유 키를 형성하는 참조 스포츠 토토 결과의 외래 키, 참조 스포츠 토토 결과 이름 및 열 이름을 형성하는 참조 스포츠 토토 결과 이름. 여러 개의 외국 키를 처리하려면 각 참조에 대한 트리거를 만듭니다.
check_foreign_key ()
참조 스포츠 토토 결과을 확인합니다. 사용하려면 A 생성삭제 또는 업데이트 전다른 스포츠 토토 결과에서 참조 된 스포츠 토토 결과 에서이 함수를 사용한 트리거. 트리거 인수로 지정 : 함수가 확인 해야하는 참조 스포츠 토토 결과 수, 참조 키가 발견되는 경우 조치 (.캐스케이드- 참조 행을 삭제하려면제한- 참조 키가 존재하는 경우 거래 중단,setNull- 참조 키 필드를 NULL로 설정하려면 기본/고유 키를 형성하는 트리거 된 스포츠 토토 결과의 열 이름, 참조 스포츠 토토 결과 이름 및 열 이름 (첫 번째 인수로 지정된 많은 참조 스포츠 토토 결과에 대해 반복). 기본/고유 키 열에는 NULL이 아니며 고유 한 인덱스가 있어야합니다.
예제가 있습니다Refint.example.
오래 전,스포츠 토토 결과각 튜플의 삽입 및 삭제 시간을 유지하는 내장 시간 여행 기능이 있습니다. 이것은 이러한 기능을 사용하여 모방 할 수 있습니다. 이 기능을 사용하려면의 두 열에 추가해야합니다.Abstime튜플이 삽입 된 날짜 (start_date) 및 변경/삭제 (stop_date) :을 저장하려면 유형을 입력하십시오.
스포츠 토토 결과 생성 mytab ( ... ... start_date abstime, stop_date abstime ... ... );
열은 당신이 원하는대로 명명 될 수 있지만,이 토론에서 우리는 그들을 start_date 및 stop_date라고 부릅니다..
새 행이 삽입되면 START_DATE는 일반적으로 현재 시간으로 설정하고 stop_date to를 설정해야합니다.Infinity. 삽입 된 데이터 에이 열에 널이 포함 된 경우 트리거는 이러한 값을 자동으로 대체합니다. 일반적 으로이 열에 명시적인 비 널 데이터를 삽입하는 것은 덤프 데이터를 다시로드 할 때만 수행해야합니다.
stop_date와 같은 튜플Infinityare"유효한 지금"및 수정할 수 있습니다. 유한 한 stop_date가있는 튜플은 더 이상 수정할 수 없습니다. 트리거는 그것을 방지합니다. (그렇게해야한다면 아래 그림과 같이 시간 여행을 끄질 수 있습니다.)
수정 가능한 행의 경우, 업데이트시 튜플의 stop_date 만 업데이트되는 경우 (현재 시간으로) 변경되고 수정 된 데이터가 포함 된 새 튜플이 삽입됩니다. 이 새 튜플의 start_date는 현재 시간으로 설정되고 stop_date toInfinity.
삭제는 실제로 튜플을 제거하지 않고 정지 _date 만 현재 시간으로 설정합니다.
튜플 쿼리"유효한 지금", 포함stop_date = 'Infinity'쿼리의 위치 조건에서. (보기에 통합하고 싶을 수도 있습니다.) 마찬가지로, start_date 및 stop_date에 적합한 조건으로 과거에 유효한 튜플에 대한 쿼리를 할 수 있습니다..
timeTravel ()
이 동작을 지원하는 일반적인 트리거 함수입니다. a 만들기삽입 또는 업데이트 또는 삭제 전각 타임 트래블 스포츠 토토 결과 에서이 기능을 사용하는 트리거. START_DATE 및 STOP_DATE 열의 실제 이름 인 두 가지 트리거 인수를 지정하십시오. 선택적으로, 당신은 1 ~ 3 개의 인수를 지정할 수 있으며, 이는 유형의 열을 참조해야합니다.텍스트. 트리거는 현재 사용자의 이름을 삽입 중에이 열 중 첫 번째 열에, 업데이트 중 두 번째 열, 삭제 중에 세 번째는 저장합니다.
set_timeTravel ()
스포츠 토토 결과의 시간 여행을 켜거나 끌 수 있습니다.set_timeTravel ( 'mytab', 1)표에 tt를 켜겠습니다Mytab. set_timeTravel ( 'mytab', 0)표에 tt를 끄겠습니다Mytab. 두 경우 모두 기존 상태 가보고됩니다. TT가 꺼지는 동안 start_date 및 stop_date 열을 자유롭게 수정할 수 있습니다. ON/OFF 상태는 현재 데이터베이스 세션에 로컬입니다. 신선한 세션은 항상 모든 테이블에 대해 TT로 시작됩니다.
get_timeTravel ()
변경하지 않고 스포츠 토토 결과의 TT 상태를 반환합니다.
예제가 있습니다timeTravel.example.
autoinc ()
는 시퀀스의 다음 값을 정수 필드에 저장하는 트리거입니다. 이것은 내장과 약간의 겹침이 있습니다"Serial Column"기능이지만 동일하지는 않습니다.autoinc ()
삽입 중에 다른 필드 값을 대체하려는 시도를 무시하고 선택적으로 업데이트 중에 필드를 증가시키는 데 사용될 수 있습니다..
사용하려면 A 생성삽입 전(또는 선택적으로삽입 또는 업데이트 전)이 함수를 사용하는 트리거. 수정할 정수 열의 이름과 값을 공급할 시퀀스 객체의 이름을 지정하십시오. (실제로, 당신은 하나 이상의 자동화 열을 업데이트하려면 해당 이름의 쌍을 지정할 수 있습니다.)
예제가 있습니다autoinc.example.
insert_username ()
는 현재 사용자의 이름을 텍스트 필드에 저장하는 트리거입니다. 이것은 테이블 내에서 특정 행을 마지막으로 수정 한 사람을 추적하는 데 유용 할 수 있습니다.
사용하려면 A를 작성하십시오.삽입 전및/또는업데이트이 함수를 사용한 트리거. 단일 트리거 인수를 지정하십시오 : 수정할 텍스트 열의 이름.
예제가 있습니다insert_username.example.
moddateTime ()
현재 시간을 A에 저장하는 트리거입니다.타임 스탬프필드. 이것은 스포츠 토토 결과 내 특정 행의 마지막 수정 시간을 추적하는 데 유용 할 수 있습니다.
사용하려면 A 생성업데이트 전이 함수를 사용한 트리거. 단일 트리거 인수 : 수정 될 열의 이름을 지정하십시오. 열은 유형이어야합니다타임 스탬프또는시간대가있는 타임 스탬프.
예제가 있습니다moddateMe.example.