当前位置:早雪网网络学院编程文档数据库技术Postgresql → PostgreSQL7.0手册-程序员手册 -48. 服务器编程接口

PostgreSQL7.0手册-程序员手册 -48. 服务器编程接口

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-23 12:21:59
 

语法
SPI_copytuple(tuple)
输入
HeapTuple tuple 
  
  
  
  

Input tuple to be copied

Outputs
HeapTuple 
输入被拷贝的记录 
   
 non-NULL 如果 tuple 为非空(not NULL)并且拷贝成功 
NULL 只有 tuple 是 NULL 

描述
SPI_copytuple 把一个记录的拷贝放到上层高级执行器环境.参考存储器管理章节.
用法
TBD

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_modifytuple
名称
SPI_modifytuple — 修改关系的记录 

语法
SPI_modifytuple(rel, tuple , nattrs
, attnum , Values , Nulls)
输入
Relation rel 
HeapTuple tuple 
要修改的输入记录 
int nattrs 
attnum 里字段号的个数 
int * attnum 
将要修改的字段号的数组 
Datum * Values 
给声明的属性的新值 
char * Nulls 
若存在,哪个字段是 NULL. 

输出
HeapTuple 

修改后的新记录  
 non-NULL 如果 tuple 为非空(not NULL)并且修改成功 
NULL 只有当 tuple 为 NULL(空) 


SPI_result 
   
 SPI_ERROR_ARGUMENT 如果 rel 是 NULL 或 tuple 是 NULL 或 natts &le(小于)0 或 attnum 是 NULL 或 Values 是 NULL. 
SPI_ERROR_NOATTRIBUTE 如果在 attnum 里有一个非法的数字 (attnum &le(小于)0 或 > 记录中字段数) 

 
描述
SPI_modifytuple 修改一个上层执行器环境的记录.参考存储器管理章节. 
 
用法
如果成功,返回一个指向新记录的指针.新记录在执行器上层环境分配(参见 存储器管理).传入的记录没有改变.

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_fnumber
名称
SPI_fnumber — 查找声明的字段的字段号 

语法
SPI_fnumber(tupdesc, fname)
输入
TupleDesc tupdesc 
输入记录的描述 
char * fname 
字段名 

输出
int 

字段号  
 有效的以1为基的字段索引号 
SPI_ERROR_NOATTRIBUTE 如果命名的字段没有找到 

 

描述
SPI_fnumber 返回 fname 指明的字段的字段号. 

用法
字段号是以1为基的. 

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_fname
名称
SPI_fname — 找出指明的字段的字段名 

语法
SPI_fname(tupdesc, fname)
输入
TupleDesc tupdesc 
输入的记录描述 
char * fnumber 
字段号 

输出
char * 

字段名  
 NULL -- 如果 fnumber 超出范围 
出错时,SPI_result 设置为 SPI_ERROR_NOATTRIBUTE 

 

描述
SPI_fname 返回指明的字段的字段名. 

用法
字段号是以 1 为基的. 

算法
返回一个新分配的字段名的拷贝. 

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_getvalue
名称
SPI_getvalue — 返回指明的字段的字符串值 

语法
SPI_getvalue(tuple, tupdesc, fnumber)
输入
HeapTuple tuple 
输入的待检查的字段 
TupleDesc tupdesc 
输入字段描述 
int fnumber 
字段号 

输出
char * 

字段值或 NULL(空),如果 
   
 字段为 NULL(空) 
fnumber 超出范围(这时 SPI_result 设置为 SPI_ERROR_NOATTRIBUTE) 
没有可用的输出函数(这时 SPI_result 设置为 SPI_ERROR_NOOUTFUNC) 

 

描述
SPI_getvalue 返回指明字段的一个外部(字符串)形式的值. 

用法
字段号是以 1 为基的. 

算法
根据数值的要求分配存储器. 

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_getbinval
名称
SPI_getbinval — 返回指明的字段的二进制数值 

语法
SPI_getbinval(tuple, tupdesc, fnumber, isnull)
输入
HeapTuple tuple 
要检查的输入记录 
TupleDesc tupdesc 
输入记录描述 
int fnumber 
字段号 

输出
Datum 
字段二进制数值 
bool * isnull 
字段是否为空的标志 
SPI_result 
   
 SPI_ERROR_NOATTRIBUTE 

 
描述
SPI_getbinval 返回指明字段的二进制数值 

用法
字段号是以1为基的. 

算法
不为二进制数值分配新空间. 

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_gettype
名称
SPI_gettype — 返回指明字段的类型名 

语法
SPI_gettype(tupdesc, fnumber)
输入
TupleDesc tupdesc 
输入字段描述 
int fnumber 
字段号 

输出
char * 
指明字段号的类型名称 
SPI_result 
   
 SPI_ERROR_NOATTRIBUTE 

 
描述
SPI_gettype 返回一个指明字段的类型名的拷贝. 

用法
字段号是以1为基的. 

算法
不为二进制数值分配新空间. 

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

SPI_gettypeid
名称
SPI_gettypeid — 返回指明字段的类型 OID 

语法
SPI_gettypeid(tupdesc, fnumber)
输入
TupleDesc tupdesc 
输入字段的描述 
int fnumber 
字段号 

输出
OID 
指明字段号的类型 OID. 
SPI_result 
   
 SPI_ERROR_NOATTRIBUTE 

 
描述
SPI_gettypeid 返回指明的字段的类型 OID. 

用法
字段号是以 1 为基的. 

算法
TBD

--------------------------------------------------------------------------------
-------------------------------------------------------------

上一页  [1] [2] [3] [4] [5]  下一页

[数据载入中...] [返回上一页] [打 印]