具体问题如下: 我需要根据输入的两个参数 v_eparchyname,v_month 来确定取数据的表,而且要用到一个自定义游标 v_cur来OUT所需的参数, v_cur中可以存放 50 个VARCHAR2(50)的变量,因为是使用统一的接口开发,所以不能修改此游标,需要动态实现
OPEN v_cur FOR
SELECT D1,D2,D3……,D50
FROM v_eparchyname||'_Table_'||v_month 动态调用系统已有的游标我已经研究过,但是好象都是用ORACLE自带的类来实现,对此有研究的前辈,请赐教:)
谢谢!!
OPEN v_cur FOR
SELECT D1,D2,D3……,D50
FROM v_eparchyname||'_Table_'||v_month 动态调用系统已有的游标我已经研究过,但是好象都是用ORACLE自带的类来实现,对此有研究的前辈,请赐教:)
谢谢!!
解决方案 »
- centos 6.0 安装oracle 执行./runInstaller时出现错误提示
- oracle中怎么查找指定表所涉及的存储过程 急,在线等
- 准备面试,给点意见------散分了。
- SQLNET.ORA的文件格式是什么样的?
- oracle每天定时瘫痪。。。救救我
- 求sql语句
- 请问如何从dmp文件中提取数据阿?
- DBArtisan 7.0的注册码(unlock码)
- centOS6.4安装oracle10G出现 Net Configuration assitant 安装错误
- oracle查询多级时候父级合并,子级用逗号隔开
- 连接和会话的概念
- 怎样才能用LIKE查找字段本身就包含‘%’的结果?
IS
--define cursor type
type cursortype is ref cursor; --Get Users by cursor
procedure GetUsers(v_usercursor out cursortype);
END; -- Package specPACKAGE BODY AMSSO
IS
procedure GetUsers(v_usercursor out cursortype)
IS
v_cursor cursortype;
BEGIN
open v_cur for
select D1,D2,D3……,D50
from v_eparchyname||'_Table_'||v_month;
v_usercursor:=v_cursor;
END;
END;
TYPE EmpRecTyp IS RECORD (
emp_id NUMBER(4),
emp_name VARCHAR2(10),
job_title VARCHAR2(9),
dept_name VARCHAR2(14),
dept_loc VARCHAR2(13));
TYPE EmpCurTyp IS REF CURSOR RETURN EmpRecTyp;
PROCEDURE get_staff (dept_no IN NUMBER,emp_cv IN OUT EmpCurTyp);
END;
CREATE PACKAGE BODY emp_data AS
PROCEDURE get_staff (dept_no IN NUMBER,emp_cv IN OUT EmpCurTyp) IS
BEGIN
OPEN emp_cv FOR
SELECT empno, ename, job, dname, loc FROM emp, dept
WHERE emp.deptno = dept_no AND emp.deptno = dept.deptno
ORDER BY empno;
END;
END;
/
COLUMN EMPNO HEADING Number
COLUMN ENAME HEADING Name
COLUMN JOB HEADING JobTitle
COLUMN DNAME HEADING Department
COLUMN LOC HEADING Location
SET AUTOPRINT ON
VARIABLE cv REFCURSOR
EXECUTE emp_data.get_staff(20, :cv)