词条 | 伪类型 |
释义 | 伪类型PostgreSQL 类型系统包含一系列特殊用途的 条目,它们按照类别来说叫做伪类型。一个伪类型不能作为 字段的数据类型,但是它可以用于声明一个函数的参数或者结果类型。 每个可用的伪类型在一个函数不只是简单地接受并返回某种SQL数据类型的 情况下都很有用。 以下列出了现有的伪类型: Pseudo-Types 类型名 描述 record 标识一个函数返回一个未声明的行类型 any 表示一个函数接受任何输入数据类型 anyarray 表示一个函数接受任意数组数据类型 void 表示一个函数不返回数值 trigger 一个触发器函数声明为返回 trigger language_handler 一个过程语言调用句柄声明为返回 language_handler cstring 表示一个函数接受或者返回一个空零结尾的 C 字串 internal 表示一个函数接受或者返回一种服务器内部的数据类型 opaque An obsolete type name that formerly served all the above purposes C 编写的函数(不管是内置的还是动态装载的)都可以声明为接受或者返回 这样的伪数据类型。在把伪类型用做函数参数类型的时候,保证函数行为正常 就是函数作者的任务了。 用过程语言编写的函数只能根据它们的实现语言是否可以使用伪类型而使用它。目前,过程语言都不允许使用伪类型作为参数类型,并且只允许使用 void 作为结果类型(如果函数用做触发器,那么加上 trigger)。 伪类型 internal 用于声明那种只能在数据库系统内部调用的函数, 它们不能直接在SQL查询里调用。如果函数至少有一个 internal 类型 的参数,那么我们就不能从SQL里调用它。为了保留这个限制的类型安全, 我们一定要遵循这样的编码规则:不要创建任何声明为返回 internal 的函数,除非它至少有一个 internal 参数。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。