历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.
大纲
SPI_modifytuple(rel,tuple,nattrs,attnum,Values,Nulls)
输入
- Relation
rel 仅用作元组的元组描述符来源。(传关系而不是元组描述符是一种缺陷设计。)
- HeapTuple
tuple 要修改的输入元组
- int
nattrs attnum 数组中属性编号的数量
- int *
attnum 要被修改的属性的编号组成的数组
- Datum *
Values 指定属性的新值
- char *
Nulls 哪些新值为 NULL(如果有的话)
输出
- HeapTuple
带修改内容的新元组
→ 非 NULLtuple不为 NULL 且修改成功时→ NULL仅当tuple为 NULL 时- SPI_result
→ SPI_ERROR_ARGUMENTrel 为 NULL,或 tuple 为 NULL,或 natts <= 0,或 attnum 为 NULL,或 Values 为 NULL 时。→ SPI_ERROR_NOATTRIBUTEattnum 中存在无效的属性编号时(attnum <= 0,或大于元组中的属性数量)
描述
SPI_modifytuple
为选定的属性替换新值,并在其他位置复制原元组的属性,从而创建一个新元组。输入元组不会被修改。
用法
成功时,返回指向新元组的指针。新元组在上层执行器上下文中分配。