举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > PostgreSQL 域类型

PostgreSQL 域类型

2023-06-19 18:31 PostgreSQL 域类型

 PostgreSQL 域类型

是一种用户定义的数据类型,它基于另一种底层类型。根据需要,它可以有约束来限制其有效值为底层类型所允许值的一个子集。如果没有约束,它的行为就和底层类型一样 — 例如,任何适用于底层类型的操作符或函数都对该域类型有效。底层类型可以是任何内建或者用户定义的基础类型、枚举类型、数组类型、组合类型、范围类型或者另一个域。

例如,我们可以在整数之上创建一个域,它只接受正整数:

CREATE DOMAIN posint AS integer CHECK (VALUE > 0);
CREATE TABLE mytable (id posint);
INSERT INTO mytable VALUES(1);   -- works
INSERT INTO mytable VALUES(-1);  -- fails

当底层类型的一个操作符或函数适用于一个域值时,域会被自动向下造型为底层类型。因此,mytable.id - 1的结果会被认为是类型integer而不是posint。我们可以写成(mytable.id - 1)::posint来把结果转换回posint,这会导致域的约束被重新检查。在这种情况下,如果该表达式被应用于一个值为1的id就会错误。把底层类型的值赋给域类型的一个字段或者变量不需要写显式的造型,但是域的约束将会被检查。

更多信息请参考CREATE DOMAIN


阅读全文
以上是鳄鱼CMS为你收集整理的 PostgreSQL 域类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 日期/时间类型

    PostgreSQL 日期/时间类型

    2023-05-29

    8.5.1.日期/时间输入8.5.2. 日期/时间输出8.5.3.时区8.5.4. 间隔输入8.5.5. 间隔输出PostgreSQL支持SQL中所有的日期和时间类型,...

  •  PostgreSQL XML类型

    PostgreSQL XML类型

    2023-06-17 PostgreSQL XML类型

    8.13.1. 创建XML值8.13.2. 编码处理8.13.3. 访问XML值xml数据类型可以被用来存储XML数据。它比直接在一个text域中存储XML数据的...

  •  PostgreSQL DROP TRANSFORM

    PostgreSQL DROP TRANSFORM

    2023-04-14

    DROP TRANSFORM — 移除转换大纲DROP TRANSFORM [ IF EXISTS ] FOR type_name LANGUAGE lang_name [ CASCADE | RESTRICT ]简介 D...

  •  PostgreSQL EXPLAIN

    PostgreSQL EXPLAIN

    2023-05-20 PostgreSQL EXPLAIN

    EXPLAIN — 显示一个语句的执行计划 大纲EXPLAIN [ ( option [, ...] ) ] statementEXPLAIN [ ANALYZE ] [ VERBOSE ] statement...

  •  PostgreSQL createuser

    PostgreSQL createuser

    2023-06-01

    createuser — 定义一个新的PostgreSQL用户账户大纲createuser [connection-option...] [option...] [username]描述 createuser...

© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们