PL/SQL 变量类型

  1. 数值型
  2. 字符型
  3. 布尔型
  4. 日期型
  5. 大对象
  6. 数组类型

数值型

数值型 描述
BINARY_INTEGER 整数值的两位补码的带符号的二进制表示
DEC 十进制数字,同 NUMBER
DECIMAL 十进制数字,同 NUMBER
DOUBLE PRECISION 双精度十进制数字,同 NUMBER
FLOAT 浮点型十进制数字,同 NUMBER
INT 整数数字,同 NUMBER,未指定尾数
INTEGER 整数数字,同 NUMBER,未指定尾数
NATURAL 同 BINARARY INTEGER,限制 0-2 147 483 647
NUMBER Oracle 内部十进制数值,优化
NUMERIC 同 NUMBER
PLS_INTEGER 有符号的整数,范围在 -2147483647 ~ 2147483647,比 NUMBER 计算速度快
POSITIVE 同 BINARARY INTEGER,限制 0-2 147 483 647
REAL 实数,同 NUMBER
SMALLINT 小整数,同 NUMBER

字符型

字符型 描述
CHAR 固定长度的字符串
CHARACTER 固定长度的字符串
LONG PL/SQL 指定字符串,类似 VARCHAR2,最大 32760 字节
LONG RAW 类似 LONG,不能在字符集之间转换
NCHAR 固定长度的 NLS 字符数据,最大 32767 字节
NVARCHAR2 可变长度的 NLS 字符数据,最大 32767 字节
RAW 类似 CHAR,不能在字符集之间转换
ROWID 代表数据行的物理位置的二进制内部值
UROWID 通用行 ID,代表数据行的物理/逻辑/非 Oracle 位置的二进制内部值
STRING 同 VARCHAR2
VARCHAR 同 VARCHAR2
VARCHAR2 可变长度的字符串,最大 32767 字节

布尔型

布尔型 描述
BOOLEAN TRUE / FALSE / NULL

日期型

日期型 描述
DATE Oracle 内部日期格式

大对象型

大对象型 描述
BFILE 存储操作系统文件中的大二进制对象的位置
BLOB 存储大二进制对象的位置
CLOB 存储大块单字符数据的位置
NCLOB 存储大块 NLS 字符数据的位置

数组类型

此类型需要声明, 语法示例:

type type_name is table of base_type index by index_type
  描述
type_name 类型名称
base_type 元素类型
index_type 下标类型