---
title: "用户自定义子类型 - OceanBase 数据库 V4.4.1 | OceanBase 文档中心"
description: 用户自定义子类型 PL 允许用户基于基础数据类型创建自定义子类型 SUBTYPE ，也可以基于自定义类型再次定义。 功能适用性 该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。 自定义子类型 SUBTYPE 的语法如下： SUBTYPE subtype_na…
---
切换语言

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

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

# 用户自定义子类型

更新时间：2025-10-22 13:36:40

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.4.1/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 数据库社区版仅提供 MySQL 模式。

自定义子类型 `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) 咨询热线
