《PL/SQL 语言开发参考手册》之三:变量与数据类型
《PL/SQL 语言开发参考手册》下载地址
1、数据类型
1)标量型:
数字型(BINARY_INTEGER,NUMBER)(DEC,FLOAT,REAL... NUMBER 的子类型);
NUMBER(P,S) P:精度,整个的有效数位(从左边开始第一个不为 0 的数字起);S:刻度,可选(小数点后面的保留位数)
BINARY_INTEGER:保存整数,和 NUMBER 的底层的保存方式不同,BINARY_INTEGER 为二进制保存,NUMBER 需要考虑其他东西不是二进制方式;BINARY_INTEGER 之间做加法效率快,而 NUMBER 要先转换二进制再计算;单纯的计算选择使用 BINARY_INTEGER,考虑和表中其他数据的交互的话一般选择 NUMBER;
字符型:CHAR,VARCHAR,VARCHAR2,STRING,LONG(一般 CHAR、VARCHAR2 就够了)。
CHAR 定长(例子:CHAR(5) 如果不够 5 个字符的话就会用空白填充),可以不带长度规定(默认为 1);
VARCHAR2 变长(VARCHAR2(5) 标识最长可以保存 5 个字符),后面的长度规定必须要有。
布尔型:BOOLEAN。
日期型:DATE(后增加 TIMESTAMP,比 DATE 更精细点(精确到秒)INTERVAL),一般用 DATE。
2)组合型:RECORD(常用)、TABLE(常用)、VARRAY(较少用)。
3)参考型:REF CURSOR(游标)、REF object_type。
4)LOB(Large Object)
2、%TYPE
[变量名] [表名.字段名] [%TYPE],表示变量具有与数据库的表中某一字段相同的类型。
例:v_FirstName s_emp.first_name%TYPE;
3、RECORD 类型
4、%ROWTYPE
返回一个基于数据库定义的类型。
注:与 RECORD 类型中定一个 record 相比,一步就完成,而 RECORD 类型中定义分二步:a、所有的成员变量都要申明;b、实例化变量;
可以代替 RECORD 类型。
5、TABLE 类型
TYPE tabletype IS TABLE OF type(类型名,要保存成的数据类型) INDEX BY BINARY_INTEGER;
例:
注:
1)id(索引)的数目的限制由 BINARY_INTEGER 的范围决定(-2147483647<----->2147483647);
2)TABLE 类型与 map<int,_T> 类似;
3)表中的元素可以是复合类型;
4)KEY 没有必要是顺序的;
5)当数据被插入表中的时候,表所需的空间就被分配了;
6、变量的作用域和可见性 <<outer>>
1)执行块里可以嵌入执行块;
2)里层执行块的变量对外层不可见;
3)里层执行块对外层执行块变量的修改会影响外层块变量的值(在此里层,对其他里层则不影响,想要不影响此里层的话可以使用标号标注外层);
分享到:
相关推荐
PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...
pl/sql 7.1操作手册,中文,总共239页 目录 目录..............................................................................................................................................................
PL/SQL Developer的内置插件程序界面允许第三方查询建立器,比如Active Query Builder。 比较用户项目 在改变了表的定义、浏览、程序单元等后,将这些改变复制给其它的数据库用户或找到具体的不同点是很有用的。这...
PL/SQL Developer的内置插件程序界面允许第三方查询建立器,比如Active Query Builder。 比较用户项目 在改变了表的定义、浏览、程序单元等后,将这些改变复制给其它的数据库用户或找到具体的不同点是很有用的。这...
3.1.4 数据类型的获得与验证 51 3.2 数据类型间的转换 52 3.2.1 转换成整型 52 3.2.2 转换成浮点型 54 3.2.3 转换成字符串型 55 3.2.4 转换成布尔型 55 3.2.5 转换成数组 56 3.2.6 转换成对象 56 3.2.7 使用函数进行...
PL/SQL Developer 是一个为 Oracle 数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL Developer 你能方便地创建你的客户/服务器应用程序的服务器部分 ,绝对实用 目录.3 1. 介绍.....9 2. 安装...13 2.1 ...
第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章 PL/SQL游标........................370 第六章 PL/SQL异常........................373 第七章 PL/SQL存储过程..............
第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章 PL/SQL游标........................370 第六章 PL/SQL异常........................373 第七章 PL/SQL存储过程..............
8. 创建与修改非 PL/SQL 对象51 8.1 表定义编辑器..........51 8.2 序列定义编辑器........63 8.3 同义词定义编辑器......63 8.4 库定义编辑器..........64 8.5 目录定义编辑器........64 8.6 作业定义编辑器..........
说明: 与 NLS_TIME_FORMAT 相似, 只不过它设置的是 TIMESTAMP 数据类型的默认值, 该数据类型既存储YEAR, MONTH 和 DAY 这几个日期值, 也存储 HOUR, MINUTE 和 SECOND 这几个时间值。 语法: TIMESTAMP '1997-01-31 ...
8. 创建与修改非 PL/SQL 对象............................................................................................................51 8.1 表定义编辑器.................................................
与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...
8. 创建与修改非 PL/SQL 对象............................................................................................................51 8.1 表定义编辑器.................................................
8. 创建与修改非 PL/SQL 对象............................................................................................................51 8.1 表定义编辑器.................................................
5.3 变量类型 ............................................................. 22 5.4 保存测试脚本 ......................................................... 22 5.5 跟踪运行时错误 ............................