首页 > 解决方案 > 自定义域作为无符号类型

问题描述

我很好奇是否可以更改转换为域类型的值。一个示例是无符号整数域类型,其中域将整数文字 0 - 65535 映射到 a 、 -32768 - 32767 的所有有效值SMALLINT。示例伪代码如下。

CREATE DOMAIN USMALLINT AS SMALLINT
    CONSTRAINT CHECK (SET VALUE = VALUE - 32768 RETURNING TRUE);

但这当然不是有效的语法,特别SET是这样调用。但是,规则和/或事件是否可能与此类似?

我假设文字只被赋予最小的封闭 SQL 类型,然后将文字转换为触发要检查的约束的域类型(如CREATE DOMAIN 文档中所述)。

标签: sqlpostgresql

解决方案


推荐阅读