存储过程如下:CREATE OR REPLACE PROCEDURE listUnreadMails (
param_lgname IN VARCHAR2,param_r IN VARCHAR2,
resultCursor OUT returnPackage.returnCursor
) AS
op_type_receive CHAR(1);
v_grouploginname ts_groups.grouploginname%TYPE;
lgname VARCHAR2(30);BEGIN
op_type_receive := TRIM(param_r); lgname := TRIM(param_lgname); select trim(grouploginname) into v_grouploginname from ts_groups where trim(memberloginname)=lgname;
exception
when others then
v_grouploginname := 'zu_ls'; OPEN resultCursor FOR
select dbid,parentDbid,TRIM(sender) AS sender,TRIM(receipt) AS receipt,ts_mailbox.type,mailDate,subject,attachNums
from ts_mailbox ,ts_users
where ts_mailbox.sender=ts_users.loginname
and dbid not in(select dbid from ts_op_stream where op_user = lgname and op_status=op_type_receive)
and trim(receipt) =lgname
and (receipt like '%'||lgname||'%'
or receipt like '%'||v_grouploginname||'%' )
ORDER BY mailDate DESC;
END listUnreadMails;在这个存储过程中加入这句:
select trim(grouploginname) into v_grouploginname from ts_groups where trim(memberloginname)=lgname;
exception
when others then
v_grouploginname := 'zu_ls';就会出现cusor is closed的异常,这个怎么改呢?先谢谢了。
param_lgname IN VARCHAR2,param_r IN VARCHAR2,
resultCursor OUT returnPackage.returnCursor
) AS
op_type_receive CHAR(1);
v_grouploginname ts_groups.grouploginname%TYPE;
lgname VARCHAR2(30);BEGIN
op_type_receive := TRIM(param_r); lgname := TRIM(param_lgname); select trim(grouploginname) into v_grouploginname from ts_groups where trim(memberloginname)=lgname;
exception
when others then
v_grouploginname := 'zu_ls'; OPEN resultCursor FOR
select dbid,parentDbid,TRIM(sender) AS sender,TRIM(receipt) AS receipt,ts_mailbox.type,mailDate,subject,attachNums
from ts_mailbox ,ts_users
where ts_mailbox.sender=ts_users.loginname
and dbid not in(select dbid from ts_op_stream where op_user = lgname and op_status=op_type_receive)
and trim(receipt) =lgname
and (receipt like '%'||lgname||'%'
or receipt like '%'||v_grouploginname||'%' )
ORDER BY mailDate DESC;
END listUnreadMails;在这个存储过程中加入这句:
select trim(grouploginname) into v_grouploginname from ts_groups where trim(memberloginname)=lgname;
exception
when others then
v_grouploginname := 'zu_ls';就会出现cusor is closed的异常,这个怎么改呢?先谢谢了。
解决方案 »
- 求高人,tomcat 的问题
- 求救: TOMCAT 下无法发布WEB
- <FORM ... onsubmit="return submit(this)">中的submit(this)没有被执行!!!
- 大家帮忙看看这个错误时怎抹回事
- 三个和尚为什么没有水喝?
- struts dispatchaction跳转问题
- 如何正确地反编译这个jar包。我用了好多反编译工具都不行。放到myeclipse里就有很多红叉叉。。
- javaBean调用同目录下的db.properties文件读不到,为什么?请各位前辈帮忙。
- 请救救我,一个关于JAVABEAN的问题,
- 求教:web.xml配置(tomcat+eclipse+插件)resourse not available。急!!
- 求生成txt,excel文件的思路,在线等!
- oracle 存储过程 参数读入问题
CREATE OR REPLACE PROCEDURE listUnreadMails(param_lgname IN VARCHAR2,
param_r IN VARCHAR2,
resultCursor OUT returnPackage.returnCursor) AS
op_type_receive CHAR(1);
v_grouploginname ts_groups.grouploginname%TYPE;
lgname VARCHAR2(30);BEGIN op_type_receive := TRIM(param_r); lgname := TRIM(param_lgname); select trim(grouploginname)
into v_grouploginname
from ts_groups
where trim(memberloginname) = lgname;
OPEN resultCursor FOR
select dbid,
parentDbid,
TRIM(sender) AS sender,
TRIM(receipt) AS receipt,
ts_mailbox.type,
mailDate,
subject,
attachNums
from ts_mailbox, ts_users
where ts_mailbox.sender = ts_users.loginname
and dbid not in (select dbid
from ts_op_stream
where op_user = lgname
and op_status = op_type_receive)
and trim(receipt) = lgname
and (receipt like '%' || lgname || '%' or
receipt like '%' || v_grouploginname || '%')
ORDER BY mailDate DESC;
exception
when others then
v_grouploginname := 'zu_ls';
END listUnreadMails;