oracle 包
package就是用来封装过程,函数用的。
一个package可以存放多个过程,函数。
调用是:
包名.过程名1
包名.过程名2
http://hank4ever.javaeye.com/blog/472336
包 (package)
(1)包的意义
pl/sql为了满足程序模块化的需要,除了块(block)和子程序结构外,还引入了包的构造。
包是一种数据库对象,将逻辑上相关的pl/sql类型、对象和子程序组合成一个更大的单位。包有两个部分:包说明(specification)和包体(body)。说明部分是为应用程序的接口,它申明类型、常量、例外、游标和可用的子程序。体定义游标和子程序,实现说明。应用程序仅对包说明中的申明是可见的和可存取。如果oracle具有procedure选件,包可以编译、存贮在oracle数据库中,其内容可为许多应用共享。当用户第一次调用一包装的子程序时,整个包装入到内存,所以在以后对包中子程序调用时,不再需要i/o操作,故包可提高效率和改进性能。
pl/sql的包具有信息隐蔽性(information hiding),仅在算法和数据结构设计有关层可见。在前面讲到的过程中,可将过程说明和过程体组成一个程序单位。也可将过程说明与它的过程体分开,在这种情况下,将过程放置在一个包中,可隐蔽实现的细节。也可在包中定义过程,而该过程在包说明中没有定义过程说明,这样定义的过程仅在包内使用。
(2)包的定义
包的定义形式如下:
包说明:
package 包名 is
--变量说明;
--游标说明;
--例外说明;
--记录说明;
--plsql表说明;
--过程说明;
--函数说明;
end[包名];
包体:
package body 包名 is
--变量名说明;
--游标说明;
--游标申明;
相关文档:
1、配置hibernate:
1.1、配置hibernate的持久类文件中对应的字段为byte[]类型
2.2、配置hibernate的类映射文件中对应的字段type为
org.springframework.orm.hibernate3.support.BlobByteArray ......
当我们用oracle的SQL*Plus工具输入sql语句的时候,SQL*Plus的默认设置总有些不合理的地方,此时我们通过以下一些方法改进:
1、可以运用SQL*Plus自身一些语句改变环境参数。
SQL> set linesize 900 ; /* 更改显示的宽度, 设置成900后, 一行数据就不会分两行显示了 */
&nb ......
硬件环境:hp rx2660*2+hp eva4400
软件环境:hpux 11.23,oracle 10g for hpux,oracle clusterware,mc/serviguard 11.18
1.安装HPUX
2.打补丁,参照文档即可,或打到magepatch dec.12.07以后也可以
3.安装mc/sg+SGeRAC(hp MC/Serviceguard为配合oracle rac所使用的模块)
4.规划存储
lock vg:1G
rac:100G
5.修改内 ......
Oracle 的代码表示及事例
1. select + xxx + from + xxx //查询语句 xxx 表示一个表
Select * from + xxx // * 表示一个列表中所有的内容
类: 1)// select * from country
  ......
2009-07-16 10:59
索引创建策略
1.导入数据后再创建索引
2.不需要为很小的表创建索引
3.对于取值范围很小的字段(比如性别字段)应当建立位图索引
4.限制表中的索引的数目
5.为索引设置合适的PCTFREE值
6.存储索引的表空间最好单独设定
创建不唯一索引
create index emp_ename on employees(ename)
table ......