SPI_modifytuple — create a row by replacing selected fields of a given row
Heaptuple Spi_ModifyTuple (관계Rel
, heaptuplerow
, intncols
, int *Colnum
, Datum *값
, const char *nulls
)
SPI_ModifyTuple
선택한 열에 대한 새 값을 대체하여 원래 행의 열을 다른 위치에서 복사하여 새 행을 만듭니다. 입력 행이 수정되지 않았습니다. 새 행은 상위 집행자 컨텍스트에서 반환됩니다.
이 함수는 SPI에 연결된 상태에서만 사용할 수 있습니다. 그렇지 않으면 NULL을 반환하고 설정합니다SPI_RESULT
toSPI_ERROR_UNCONNECT
.
관계rel
행의 행 디스크립터의 소스로만 사용됩니다. (행 디스크립터가 아닌 관계를 전달하는 것은 잘못입니다.)
heappuplerow
수정 될 행
intNCOLS
변경할 열 수
int *Colnum
길이의 배열NCOLS
, 변경할 열의 수를 포함하는 (열 번호 1에서 시작)
Datum *값
길이 배열NCOLS
, 지정된 열에 대한 새 값을 포함하는
const char *nulls
길이 배열NCOLS
, 어떤 새로운 값이 null인지 설명
ifnulls
isNULL
theSPI_ModifyTuple
새로운 값이 무효라고 가정합니다. 그렇지 않으면,의 각 항목nulls
array should be' '
해당 새 값이 Nuln이 아닌 경우, 또는'n'
해당 새 값이 NULL 인 경우. (후자의 경우 해당의 실제 값값
항목은 중요하지 않습니다.) 참고nulls
텍스트 문자열이 아니라 배열 일뿐입니다. 필요하지 않습니다'\ 0'
터미네이터.
수정 된 새 행, 상단 집행자 컨텍스트에 할당 된 새로운 행,NULL
오류 (참조SPI_RESULT
오류 표시)
On error,SPI_RESULT
다음과 같이 설정됩니다.
SPI_ERROR_ARGUMENT
ifRel
isNULL
또는 ifRow
isNULL
또는 ifNCOLS
is less than or equal to 0, or ifColnum
isnull
, or if값
isNULL
.
SPI_ERROR_NOATTRIBUTE
ifColnum
유효하지 않은 열 번호가 포함Row
)
SPI_ERROR_UNCONNECT
if SPI is not active
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면