---
title: github-fill
description: 用户自定义子类型 PL 允许用户基于基础数据类型创建自定义子类型 SUBTYPE ，也可以基于自定义类型再次定义。 功能适用性 该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。 自定义子类型 SUBTYPE 的语法如下： SUBTYPE subtype_name IS ba…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# 用户自定义子类型

更新时间：2026-04-04 19:31:01

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/600.pl-reference/300.pl-oracle/200.data-type-oracle/500.user-defined-data-types-oracle.md)  

PL 允许用户基于基础数据类型创建自定义子类型 `SUBTYPE`，也可以基于自定义类型再次定义。

#### 功能适用性

该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。

自定义子类型 `SUBTYPE` 的语法如下：

```javascript
SUBTYPE subtype_name IS base_type
{ precision [, scale ]  [ NOT NULL ]

```

对于自定义类型，可以重新定义精度，或者做非空约束。示例如下：

```javascript
obclient> DECLARE
  SUBTYPE score IS NUMBER;
  amount score(6,2);

  SUBTYPE item IS score NOT NULL;
  item1 item := 1;

BEGIN
  amount := item1;
END;
/

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
