Oracle Package中存储过程返回游标
一、Oracle Package的作用
1、定义与说明
a. 相关对象(自定义类型、函数、存储过程等)的封装
b. 程序包的各部分
- 程序包规格说明
声明子程序
- 程序包主体
定义子程序
2、使用程序包的优点
- 模块化
- 更轻松的应用程序设计
- 信息隐藏
- 新增功能
- 性能更佳
3、公有项和私有项的区别
公有项:在程序包说明部分定义的变量、过程、函数
私有项:在程序包主体部分定义的变量、过程、函数
公有项 私有项
可以在程序包之外引用 不能在程序包之外引用
是在程序包规格说明中定义的 是在程序包主体中定义的
用于全局目的 用于局部目的
二、定义Package
用于定义Package中使用的自定义类型、函数、存储过程等...
示例:
CREATE OR REPLACE PACKAGE PKG_SYS_SEARCH is
--定义返回的游标
TYPE VLD_RESULT IS REF CURSOR;
--带返回类型为游标变量的存储过程
PROCEDURE GET_SEARCH_RESULT(SEARCH_CONDITION IN VARCHAR2,RETURN_VAL OUT VLD_RESULT);
END PKG_SYS_SEARCH;
三、完成Package Body
对Package中的自定义类型、函数、存储过程等对象的具体实现。
示例:
CREATE OR REPLACE PACKAGE BODY PKG_SYS_SEARCH
AS
PROCEDURE GET_SEARCH_RESULT(SEARCH_CONDITION IN VARCHAR2,RETURN_VAL OUT VLD_RESULT)
AS
BEGIN
--设置返回值
相关文档:
在ORACLE 10g登陆创建新用户:
在ORACLE 10g登陆创建新用户:
1、用sys 用户登录
2、create user test1 identified by test123;
3、grant connect,resource to test1;
用test1登陆: sqlplus test1/test123
安装完了Oracle数据库,忘了在口令管理中给SCOTT解锁怎么办
问题补充 ......
一、利用Class.forName函数(用java开发B/S模式的程序) 1.代码如下: //注册驱动程序
public boolean connectDb() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
return true;
} catch (ClassNotFoundException e) {
System.out.println(e);
return false;
}
}
......
SqlServer,Oracle 常用函数比较
数学函数:
1.绝对值
Sql Server: SELECT abs(-1) value
Oracle: SELECT abs(-1) value from dual
2.取整(大)
Sql Server: SELECT ceiling(-1.001) value
Oracle: SELECT ceil(-1.001) value from dual
3.取整(小)
Sql Server: SELECT f ......