(三)PL/SQL数据类型

PL/SQL变量,常量和参数都必须有一个有效的数据类型,指定存储格式,约束和值的有效范围。

分类 描述
标量 单值没有内部组件,如NUMBER, DATE 或 BOOLEAN
大对象(LOB) 指向其他数据项,如文本,图形图像,视频剪辑和声音等存储大对象
复合 具有可单独访问的内部组件的数据项。例如,集合和记录
引用 指向其他数据项

一、标量
1.PL/SQL标量数据类型和子类型

数据类型 描述
数字 在其上执行的算术运算的数值
字符 代表单个字符或字符的字母数字字符串值
布尔 在其上执行的逻辑运算的逻辑值
日期时间 日期和时间

2.PL/SQL数值数据类型和子类型

数据类型 描述
PLS_INTEGER 通过2,147,483,647到-2147483648范围内有符号整数,以32位表示
BINARY_INTEGER 通过2,147,483,647到-2147483648范围内的有符号整数,以32位表示
BINARY_FLOAT 单精度IEEE 754格式的浮点数
BINARY_DOUBLE 双精度IEEE 754格式的浮点数
NUMBER(prec, scale) 定点或浮点数在范围1E-130至(但不包括)绝对值1.0E126。 NUMBER变量也可以表示0
DEC(prec, scale) ANSI具体的定点类型使用38位小数最大精度
DECIMAL(prec, scale) IBM特定的固定点型具有38位小数最大精度
NUMERIC(pre, secale) 浮点类型具有38位小数最大精度。
DOUBLE PRECISION 具有126个二进制数字最大精度ANSI特定浮点型(约38位十进制数)
FLOAT 具有126个二进制数字(约38位十进制数)最大精度ANSI和IBM特定的浮点型
INT 具有38位小数最大精度ANSI具体的整数类型
INTEGER ANSI和IBM的38位小数最大精度具体的整数类型
SMALLINT ANSI和IBM的38位小数最大精度具体的整数类型
REAL 具有63位二进制数字最大精度浮点型(大约18位小数)

3.PL/SQL字符数据类型和子类型

数据类型 描述
CHAR 具有32,767个字节的最大尺寸固定长度字符串
VARCHAR2 具有32,767个字节的最大尺寸变长字符串
RAW 可变长度的二进制或字节字符串的32,767个字节的最大尺寸,而不是由PL/ SQL解释
NCHAR 具有32,767个字节的最大尺寸的固定长度国家字符串
NVARCHAR2 具有32,767个字节的最大尺寸可变长度国家字符串
LONG 具有32,760字节最大尺寸变长字符串
LONG RAW 可变长度的二进制或字节字符串的32,760字节的最大尺寸,而不是由PL/SQL解释
ROWID 物理行标识符,一行在一个普通的表中的地址
UROWID 物理通用行标识符(物理,逻辑,或外国的行标识符)

4.PL/SQL布尔数据类型
在逻辑操作中使用布尔数据类型存储的逻辑值。逻辑值为:true 和 false 的布尔值以及 NULL 值。
但是,SQL没有数据类型等同于布尔。因此,布尔值不能用于:
   .SQL语句
   .内置SQL函数(如TO_CHAR)
   .从SQL语句调用PL/ SQL函数

5.PL/SQL日期时间和间隔类型

字段名称 有效日期时间值 有效的间隔值
YEAR -4712 to 9999 (年除外 0) 任何非零整数
MONTH 01 to 12 0 to 11
DAY 01 to 31 (受制于年份和月份的数值,按日历的区域设置的规则) 任何非零整数
HOUR 00 to 23 0 to 23
MINUTE 00 to 59 0 to 59
SECOND 00 to 59.9(n), 其中,9(n)是时间小数秒精度 0 to 59.9(n), 其中,9(n)是区间小数秒精度
TIMEZONE_HOUR -12 to 14 (范围可容纳夏令时更改) 不适用
TIMEZONE_MINUTE 00 to 59 不适用
TIMEZONE_REGION 在动态性能视图找到V$TIMEZONE_NAMES 不适用
TIMEZONE_ABBR 在动态性能视图找到V$TIMEZONE_NAMES 不适用

二、大对象(LOB)
大对象(LOB)数据类型是指大到数据项,例如文本,图形图像,视频剪辑和声音波形。 LOB数据类型允许高效的,随机的,分段访问这些数据。以下是预定义的PL/SQL LOB数据类型:

数据类型 描述 大小
BFILE 用于存储大型二进制对象在操作数据库之外的系统文件 依赖于系统,不能超过4千兆字节(GB)
BLOB 用于存储大型二进制对象在数据库中 8到128兆兆字节(TB)的
CLOB 用于存储字符大块数据在数据库中 8 - 128 TB
NCLOB 用于在数据库中存储大块NCHAR数据 8 - 128 TB
时间: 2024-12-29 07:35:01

(三)PL/SQL数据类型的相关文章

PL/SQL数据类型

create or replace procedure pr_mytest is v_test number(8);--变量v_char varchar2(10); c_changl constant number (12,3):= 3.14;--常量 v_bm t_hq_ryxx.bumbm%type; type ty_ry is record --定义了一种记录类型(v_xingm t_hq_ryxx.xingm%type,v_xingb t_hq_ryxx.xingb%type,v_gon

Oracle中PL/SQL简介、基本语法以及数据类型

Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型,拥有自身的变量申明,赋值语句,而且还有条件,循环等流程控制语句.过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包. PL/SQL是一种块结构的语言,它将一组语句放在一个块中,一次性的发送给服务器,由服

第三章 PL/SQL编程

3.1 PL/SQL基础知识    3.1.1 什么是PL/SQL?        PL/SQL是结合Oracle过程语言和结构化查询语言的一种扩展语言        3.1.1.1 PL/SQL体系结构(教材76页图3.2)        3.1.1.2 PL/SQL块简介             定义:PL/SQL是一种块结构语言,它将一组语句放在一个块中.            组成:声明部分.执行部分.异常处理部分.            结构:[DECLARE]            

2015/8/17笔记整理 第12章 PL/SQL编程简介1 块 过程 函数

Oracle数据库中包含一种过程化编程语言PL/SQL,PL/SQL是ORACLE对标准数据库语言的扩展. 一.PL/SQL的优点 PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,sql语句执行者处理单个的sql语句,PL/SQL引擎处理PL/SQL程序块.当PL/SQL程序块在PL/SQL引擎处理时,ORACLE服务器中的SQL语句执行器处理pl/sql程序块中的SQL语句. PL/SQL语句—

每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQL程序设计终极指南>志在打造PL/SQL领域最为系统.全面.实战.权威的著作,通过一系列非常突出的优势在大量的同类书中脱颖而出,成为该领域的标准读物. PL/SQL本身涉及的知识点浩瀚.庞杂,初学者根本无法依靠自身能力理清头绪,学习成本极高.本书对知识点进行了体系化的梳理,化繁杂为有序,突出重点,直指核

Oracle数据库--实用操作(3) PL/SQL

Oracle----PL/SQL PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言 PL/SQL 是Oracle特有的,是对 SQL 的扩展.不同数据库厂商都有类似的"方言",提供的新特性. 支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构 可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑 与Oracle 服务器和Oracle 工具紧密集成,具备可移植性.灵活性和安全性 PL/SQL 的优点

PL/SQL 程序设计简介

 ①PL/SQL 程序设计简介 PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问.由于该语言集成于数据库服务器中, 所以PL/SQL代码可以对数据进行快速高效的处理 在PL/SQL中可以使用的SQL语句有: INSERT,UPDATE,DELETE,SELECT -INTO,COMMIT,ROLLBACK,SAVEPOINT. 提示:在PL/SQL中只能用SQL语句中的DML 部分,不能用DDL 部分,如果要在PL/SQL中使用DDL(如CRE

PL/sql语法单元

1.字符集 PL/SQL的字符集包括: 所有大小写字母:包括A~Z和a~z. 数字:包括0~9. 空白字符:包括制表符.空格和回车符 其他常用英文符号 2.标识符 标识符用于定义PL/sql变量.常量.异常.游标名称.游标变量.参数.子程序名称和其他程序单元名称等. PL/sql程序中,标识符是以字符开头的,后边可以跟字符.数字.美元符号($).#._,其最大长度为30个字符,并且所有字符都是有效的. 3.分隔符 分隔符是指有特殊含义的单个符号或组合符号.  符号    说      明  符号

PL/SQL基础

一.什么是PL/SQL? PL/SQL(Procedural Language/Structure Query Language) 是Oracle对标准sql规范扩展,它全面支持SQL的数据操作.事务控制等. 二.PL/SQL编写规则 1.标识符命名规则 1)变量,建议使用v_作为前缀,如v_sal.v_job等 2)常量,建议使用c_作为前缀,如c_rate. 3)游标,建议使用_cursor作为后缀,如emp_cursor 4) 异常,建议使用e_作为前缀,如e_integrity_erro