CREATE OR REPLACE PACKAGE Userdata AS
--Define Cursor
CURSOR Cur1 IS Select * from dict_login;
TYPE UserCur IS REF cursor RETURN cur1%ROWTYPE;
--Define Procedure
PROCEDURE GetUsers(
p_real_name IN dict_login.real_name%TYPE,
UsersCur IN OUT UserCur);
END UserData;CREATE OR REPLACE PACKAGE BODY Userdata AS
PROCEDURE GetUsers(
p_real_name IN dict_login.real_name%TYPE,
UsersCur IN OUT UserCur) IS
BEGIN
IF INSTR(p_real_name,'%') <> 0 and INSTR(p_real_name,'_') <> 0 THEN
OPEN UserCur FOR
select *
from dict_login
where real_name like p_real_name
order by real_name, login_name;
ELSE
OPEN UserCur FOR
select *
from dict_login
where real_name = p_real_name
order by real_name, login_name;
END IF;
END GetUsers;
END Userdata;
--Define Cursor
CURSOR Cur1 IS Select * from dict_login;
TYPE UserCur IS REF cursor RETURN cur1%ROWTYPE;
--Define Procedure
PROCEDURE GetUsers(
p_real_name IN dict_login.real_name%TYPE,
UsersCur IN OUT UserCur);
END UserData;CREATE OR REPLACE PACKAGE BODY Userdata AS
PROCEDURE GetUsers(
p_real_name IN dict_login.real_name%TYPE,
UsersCur IN OUT UserCur) IS
BEGIN
IF INSTR(p_real_name,'%') <> 0 and INSTR(p_real_name,'_') <> 0 THEN
OPEN UserCur FOR
select *
from dict_login
where real_name like p_real_name
order by real_name, login_name;
ELSE
OPEN UserCur FOR
select *
from dict_login
where real_name = p_real_name
order by real_name, login_name;
END IF;
END GetUsers;
END Userdata;
解决方案 »
- oracle主外键约束问题,求教!
- Oracle:变长union all 的SQL.
- 求购Oracle数据库系统建一数据中心,需要硬件工程师提供硬件解决方案,非诚勿扰
- 找oracle数据库的相关特点(要运用到论文中的)
- 怎么样才能在后台看到ORACLE响应前台的每一步详情?比如执行什么操作?我想做一个窗口在前台监控后台数据库!怎么做?谢谢!来者有分!
- 一个非常基础的问题???????????????
- 求解,,,求解啊!!!!!!!!
- 高手看过来了,这是怎么了?
- 怎么限制“冗余信息”的输出……
- 一百分相送,求初学oracle的好书
- 如何使用Oracle 的imp 和 exp 导入,导出数据?
- 学习oracle 从什么地方开始学起
包头错误如下:
Line: 3 Column: 34 Error: PLS-00201: 必须说明标识符 'DICT_LOGIN'
Line: 3 Column: 20 Error: PL/SQL: SQL Statement ignored
Line: 3 Column: 12 Error: PLS-00341: 游标 'CUR1' 的说明不完整或格式错误
Line: 4 Column: 5 Error: PL/SQL: Declaration ignored
Line: 7 Column: 26 Error: PLS-00201: 必须说明标识符 'DICT_LOGIN.REAL_NAME'
Line: 6 Column: 5 Error: PL/SQL: Declaration ignored
\
先把包头调试成功了,包体才能找到问题!先调这个吧!
改成OPEN UsersCur FOR试试!你在包体中定义的是UsersCur