当前位置:首页 科普知识 伪类型

伪类型

发布时间:2023-09-04 17:05:33

PostgreSQL类型系统包含一系列特殊用途的条目,它们按照类别来说叫做伪类型。

伪类型详细介绍

PostgreSQL类型系统包含一系列特殊用途的条目,它们按照类别来说叫做伪类型。

伪类型

伪类型伪类型

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 参数。

温馨提示:
本文【伪类型】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6