PL/SQL 知识量:16 - 57 - 244
在 PL/SQL 中,可以使用多种数据类型来声明变量和存储数据。下面是一些常见的 PL/SQL 数据类型:
1、标量数据类型:
NUMBER:用于存储数字类型的数据。可以表示整数、浮点数等。
VARCHAR2:用于存储可变长度的字符串。指定一个最大长度,实际存储的字符串长度可以小于该最大长度。
CHAR:用于存储固定长度的字符串。必须指定字符串的确切长度。
DATE:用于存储日期和时间数据。可以表示年、月、日、小时、分钟和秒。
BOOLEAN:用于存储布尔值,即 TRUE 或 FALSE。
2、复合数据类型:
TABLE:用于存储表类型的数据。可以定义表的结构,包括列名和数据类型。
RECORD:用于存储记录类型的数据。可以包含多个字段,每个字段都有一个名称和数据类型。
ARRAY:用于存储数组类型的数据。可以包含一个固定大小的元素集合,所有元素都具有相同的数据类型。
3、引用数据类型:
%TYPE:用于声明一个变量,其数据类型与另一个变量的数据类型相同。
%ROWTYPE:用于声明一个变量,其数据类型与表中的一行数据类型相同。
以上只是 PL/SQL 中一些常用的数据类型示例。实际上,PL/SQL 还提供了其他更具体的数据类型,如 BINARY_INTEGER、PLS_INTEGER、SIMPLE_INTEGER 等。可以根据具体的需求选择适当的数据类型来声明变量或存储数据。
标量类型(scalar types)是最基本的数据类型,它们只能存储单个值,而不是复合的数据结构。下面是一些常见的 PL/SQL 标量数据类型:
1、NUMBER:
用于存储数字类型的数据。
可以表示整数、浮点数等。
在声明变量时,可以指定精度(precision)和刻度(scale)来限制数值的范围和精度。例如:NUMBER(5, 2) 表示可以存储最大为 999.99 的数值,其中整数部分最多为 3 位,小数部分最多为 2 位。
2、VARCHAR2:
用于存储可变长度的字符串。
必须指定一个最大长度,实际存储的字符串长度可以小于该最大长度。
例如:VARCHAR2(10) 表示可以存储最大长度为 10 的字符串。
3、CHAR:
用于存储固定长度的字符串。
必须指定字符串的确切长度。
如果声明的长度大于实际存储的字符串长度,PL/SQL 会用空格填充到指定长度。
4、DATE:
用于存储日期和时间数据。
可以表示年、月、日、小时、分钟和秒。
在 PL/SQL 中,DATE 类型包含了时间和时区信息。可以使用日期函数和操作符对日期进行操作。
5、TIMESTAMP:
类型用于存储日期和时间信息。
与 DATE 类型相比,TIMESTAMP 类型包含更精确的时间信息,包括年、月、日、小时、分钟、秒和时区。
6、BOOLEAN:
用于存储布尔值,即 TRUE 或 FALSE。
在 PL/SQL 中,BOOLEAN 类型是从 Oracle 12c 版本开始引入的。
7、FLOAT:
用于存储浮点数值的数据类型。
可以表示带有小数部分的数值。
FLOAT 类型可以存储的范围比 NUMBER 类型更广,但精度较低。它适用于存储非常大或非常小的数值,但不适合需要高精度计算的数值。
8、DOUBLE:
用于存储双精度浮点数。
可以存储比 FLOAT 类型更大范围的数值,同时具有更高的精度。
以上这些标量类型可以用于声明变量、函数参数、返回类型等。
复合类型(Composite Types)是一种用于存储多个值的数据结构,类似于其他编程语言中的数组或结构。
复合类型包括:
1、记录(Record):记录是一种复合类型,可以存储多个不同类型的数据。它类似于其他语言中的结构(Structure)或记录(Record)。记录由多个字段(Fields)组成,每个字段都有一个名称和数据类型。
例如:
TYPE employee_record IS RECORD ( employee_id NUMBER, first_name VARCHAR2(50), last_name VARCHAR2(50), hire_date DATE );
2、表(Table):表是另一种复合类型,用于存储多个相同类型的数据。它类似于其他语言中的数组。表由多个元素(Elements)组成,每个元素的数据类型相同。例如:
TYPE number_table IS TABLE OF NUMBER INDEX BY PLS_INTEGER;
3、变体(Variant):变体是一种特殊类型的复合类型,可以存储不同类型的数据。变体由两个部分组成:基类型和一组可选的变体类型。基类型是必须存在的类型,而变体类型是可选的,并且可以有多个。例如:
TYPE variant_type IS VARIANT OF NUMBER OR VARCHAR2(50);
使用复合类型可以在 PL/SQL 中创建更复杂的数据结构,方便存储和操作多个相关的数据。记录、表和变体都可以作为变量、函数参数和函数返回值的数据类型。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6