2025 년 7 월 17 일 : | 윈 토토 : 윈 토토 18 베타 2
이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : F.39. SPI - 서버 프로그래밍 인터페이스 젠 토토/예제버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

F.41. SPI - 서버 프로그래밍 인터페이스 토토 사이트/예제#

theSPI모듈은 사용의 몇 가지 실행 가능한 예를 제공합니다.PostgreSQL : 문서(SPI) 및 트리거. 이러한 토토 사이트은 그 자체로 어떤 가치가 있지만, 그들은 자신의 목적을 위해 수정하는 예로 더 유용합니다. 함수는 모든 테이블과 함께 사용하기에 충분히 일반적이지만 트리거를 생성하는 동안 테이블 및 필드 이름 (아래 설명대로)을 지정해야합니다.

아래에 설명 된 각 토토 사이트 그룹은 별도로 설치 가능한 확장으로 제공됩니다.

F.41.1. 리핀 - 참조 무결성 구현 토토 사이트#

check_primary_key ()andcheck_foreign_key ()는 외국의 주요 제약 조건을 확인하는 데 사용됩니다. (이 토토 사이트은 물론 내장 된 외국 키 메커니즘에 의해 대체 된 지 오래되었지만 모듈은 여전히 예제로 유용합니다.)

check_primary_key ()참조 테이블을 확인합니다. 사용하려면 만들기삽입 또는 업데이트 후다른 테이블을 참조하는 테이블 에서이 함수를 사용한 트리거. 트리거 인수로 지정하십시오 : 참조 테이블의 열 이름을 기본/고유 키를 형성하는 참조 테이블의 외래 키, 참조 테이블 이름 및 열 이름을 형성하는 참조 테이블 이름. 여러 개의 외국 키를 처리하려면 각 참조에 대한 트리거를 만듭니다.

check_foreign_key ()참조 테이블을 확인합니다. 사용하려면 만들기삭제 또는 업데이트 후다른 테이블에서 참조 된 테이블 에서이 함수를 사용한 트리거. 트리거 인수로 지정 : 함수가 확인 해야하는 참조 테이블 수, 참조 키가 발견되는 경우 조치 (.캐스케이드- 참조 행을 삭제하려면제한- 참조 키가 존재하는 경우 거래 중단,SetNull- 참조 키 필드를 NULL로 설정하려면 기본/고유 키를 형성하는 트리거 테이블의 열 이름, 참조 테이블 이름 및 열 이름 (첫 번째 인수로 지정된 많은 참조 테이블에 대해 반복). 기본/고유 키 열에는 NULL이 아니며 고유 한 인덱스가 있어야합니다.

이 트리거가 다른 사람에게서 실행되는 경우트리거, 예기치 않게 실패 할 수 있습니다. 예를 들어, 사용자가 Row1을 삽입 한 다음트리거 삽입 Row2 및 트리거를 호출check_foreign_key (), Thecheck_foreign_key ()함수는 Row1이 표시되지 않으며 실패합니다.

에 예가 있습니다.Refint.example.

F.41.2. Autoinc - 자동화 분야의 토토 사이트#

autoinc ()는 시퀀스의 다음 값을 정수 필드에 저장하는 트리거입니다. 이것은 내장과 약간의 겹침이 있습니다시리얼 칼럼기능이지만 동일하지는 않습니다. 트리거는 해당 값이 처음에 0 또는 NULL 인 경우에만 필드의 값을 대체합니다 (행을 삽입하거나 업데이트 한 SQL 문의 조치 후). 또한 시퀀스의 다음 값이 0이면nextVal ()0이 아닌 값을 얻기 위해 두 번째로 부를 것입니다.

사용하려면 A를 작성하십시오.삽입 전(또는 선택적으로삽입 또는 업데이트 전)이 함수를 사용하는 트리거. 수정할 정수 열의 이름과 값을 공급할 시퀀스 객체의 이름을 지정하십시오. (실제로, 당신은 하나 이상의 자동화 열을 업데이트하려면 해당 이름의 쌍을 지정할 수 있습니다.)

예제가 있습니다autoinc.example.

F.41.3. insert_username - 테이블을 변경 한 사람 추적을위한 함수#

insert_username ()는 현재 사용자의 이름을 텍스트 필드에 저장하는 트리거입니다. 이것은 테이블 내에서 특정 행을 마지막으로 수정 한 사람을 추적하는 데 유용 할 수 있습니다.

사용하려면 A를 작성하십시오.삽입 전및/또는업데이트이 함수를 사용한 트리거. 단일 트리거 인수를 지정하십시오 : 수정할 텍스트 열의 이름.

예제가 있습니다insert_username.example.

F.41.4. moddateTime - 마지막 수정 시간 추적을위한 토토 사이트#

moddateTime ()현재 시간을 A에 저장하는 트리거입니다.타임 스탬프필드. 이것은 테이블 내 특정 행의 마지막 수정 시간을 추적하는 데 유용 할 수 있습니다.

사용하려면 A를 작성하십시오.업데이트 전이 함수를 사용한 트리거. 단일 트리거 인수 : 수정 될 열의 이름을 지정하십시오. 열은 유형이어야합니다타임 스탬프또는시간대가있는 타임 스탬프.

예제가 있습니다moddateMe.example.