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 法语乱码问题,求解。。
- 求一本ORACLE的经典教材
- 有没有通俗易懂的Orcale电子教程?
- 如何实现RollUp的合计在上方显示
- 【求助】Oracle9i装了一半取消掉了,再装就装不上了
- c# 连ORACLE 我的程序不好使,请大家帮助!!! 谢谢
- Windows XP professional版下安装oracle9i,可以启动OracleOraHome90ManagementServer么
- 数据库超难问题!
- 用SQLPLUS 怎么看TRIGGER;
- 如何使用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