变量与数据类型

来源:互联网 发布:java string concat 编辑:程序博客网 时间:2024/06/16 23:22
 
u标量型
l     数字型, 字符型, 布尔型, 日期型
u组合型
l    RECORD, TABLE, VARRAY
u参考型
l      REF CURSOR, REF object_type
uLOB(Large Object )
lBFILE 
BFILE数据存储在一个不被Oralce维护的单独文件中,该数据库存储一个指向该外部文件的一个指针。
lBLOB 
保存没有被数据库解释的二进制数据l
CLOB 
容纳数据库字符集中的字符数据
lNCLOB 
存储多字节国家字符集的数据
NUMBER:
可以存储数字值,包括整数或浮点数
NUMBER(p,s)  
   p是精度,s是刻度范围。精度是数值中所有数字位的个数,而刻度范围是小数点右边数字位的个数。刻度范围可以是负数,这表示由小数点开始向左进行计算数字位的个数。
NUMBER是以十进制格式存储的,算术运算不能直接在NUMBER上进行。如果算术表达式中有NUMBER类型,PL/SQL会自动进行转换,并在必要时将结果转换回NUMBER。
子类型:类型的侯选名,重命名的数据类型,可能出于阅读性的考虑,或者是为了与来自其他数据库类型相兼容而使用侯选名。
BINARY_INTEGER
仅存储整型,以二进制形式存储,适用于仅用来计算。通常适用于循环计数。
VARCHAR2
存储可变长度的字符串,长度以字节进行指定。最大长度为4000字节。VARCHAR与STRING是VARCHAR2的子类型,与VARCHAR2等价。
VARCHAR类型是ANSI定义的,而VARCHAR2是Oracle定义的。但是如果以后ANSI VARCHAR类型有变化,Oracle VARCHAR2类型不会改变。
CHAR
定长字符串,最大长度是32767字节。
LONG
变长字符串,最大长度是32767字节。
BOOLEAN
在PL/SQL控制结构中使用,仅可以存储TRUE、FALSE和NULL。
DATA
存储日期和时间信息,包括世纪、年、月、日、小时、分和秒。不存储秒字段的小数部分。DATA变量占用7个字节,每一个部分占用一个字节。
TIMESTAMP
存储日期和时间信息,包括世纪、年、月、日、小时、分和秒。存储秒字段的小数部分。
 

%TYPE

 变量具有与数据库的表中某一字段或其它变量相同的类型

第一种声明方式,如他所存取的数据库字段的类型发生了变化。所有使用这个列的PL/SQL代码都必须进行修改。使用%TYPE属性而不是将变量类型硬性编码,使得PL/SQL更加灵活,更加适应于对数据库定义的更新。
如果%TYPE应用于一个被限制为NOT NULL的变量或列,那么它的返回值没有这个限制。
%ROWTYPE
%rowtype 返回一个基于数据库表定义的类型
 
原创粉丝点击