《PL/SQL 语言开发参考手册》之三:变量与数据类型

《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)里层执行块对外层执行块变量的修改会影响外层块变量的值(在此里层,对其他里层则不影响,想要不影响此里层的话可以使用标号标注外层);

posted @ 2010-10-11 16:02  Defonds  阅读(16)  评论(0编辑  收藏  举报