DM_SQL教程:创建数据类型与对象

需积分: 30 122 下载量 123 浏览量 更新于2024-08-07 收藏 4.25MB PDF 举报
"这篇文档是关于达梦数据库系统(DM)中创建类型的变异函数教程,主要涉及SQL语句中的CREATE TYPE命令,用于创建记录类型、对象类型、数组和集合类型。文档提供了详细的语法格式和各部分定义,包括对象类型的声明(如过程、函数和构造函数)、记录类型、数组类型以及集合类型的定义子句。此外,还提到了权限控制子句,如AUTHID DEFINER或AUTHID CURRENT_USER。" 在达梦数据库管理系统(DM)中,`CREATE TYPE`语句是用于创建自定义数据类型的命令。你可以通过这个语句定义新的记录、对象、数组和集合类型,从而扩展数据库的数据表示能力。以下是创建不同类型的基本语法和关键概念: 1. **记录类型**:使用`RECORD`关键字定义,可以包含一组变量定义,类似于结构体。 2. **对象类型**:允许创建带有方法(过程和函数)的复杂数据类型。你可以定义`OBJECT`,并可选择其是否继承自其他对象类型,是否可被继承(`FINAL`或`INSTANTIABLE`属性),以及方法的重载和最终属性。 3. **过程和函数声明**:在对象类型中,可以声明静态或成员方法,包括过程(无返回值)和函数(有返回值)。这些方法可以具有确定性(`DETERMINISTIC`),可以使用管道(`PIPELINED`)输出,并可以选择是否允许重载。 4. **构造函数声明**:对于对象类型,构造函数是用于创建新实例的特殊函数,通常返回`SELF AS RESULT`。 5. **数组类型**:定义一个固定大小或变大小的数组,可以指定元素数据类型和可能的数组范围。 6. **集合类型**:包括数组集合、嵌套表和索引表,允许存储一组数据,其中索引表可以通过指定数据类型进行索引。 7. **权限控制**:`AUTHID`关键字用于定义函数或过程的执行权限,可以是DEFINER(使用创建者的权限)或CURRENT_USER(使用调用者的权限)。 此文档还涵盖了DM_SQL的其他基本概念,如保留字、标识符、数据类型(包括常规、位串、日期时间、多媒体类型)、表达式、运算符优先级,以及数据库模式的管理。此外,还有示例库的说明和如何使用各种数据定义语句来创建、修改和删除数据库对象,如用户、模式、表空间、表、索引等。这为用户提供了全面了解和操作达梦数据库的指南。