首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

PLS-00703: 列表中具有指定参数的多个实例,该怎么解决

2013-01-25 
PLS-00703: 列表中具有指定参数的多个实例create or replace procedure getProDetail(pageSize in int,pag

PLS-00703: 列表中具有指定参数的多个实例
create or replace procedure getProDetail
(
   pageSize in int,
   pageIndex in int,
   comID in int
)
is
   sqlResult varchar2(500) :='select c_proname,c_protrademarkname,c_brand,c_enterdate,c_tradetype,c_certificateid,c_trademarkpropertity,c_tmname,c_tmsmalltype
                        from t_products p inner join t_trademarktype t on p.c_tmtypeid=t.c_id
                        where c_companyid=';
   ex_sql varchar2(1000);
begin
   ex_sql:='select B.* from (select A.*,rownum as r from
        ('||sqlResult||comID||') A where rownum<=('||pageIndex*pageSize||')) B
        where B.R>('||(pageIndex-1)*pageSize||')';
   execute immediate ex_sql;
end getProDetail;

以上是我的存储过程,用于分页的,调用时就出现如下错误,请高手们指点指点,谢谢~
ORA-06550: 第 1 行, 第 7 列: 
PLS-00703: 列表中具有指定参数的多个实例
ORA-06550: 第 1 行, 第 7 列: 
PL/SQL: Statement ignored

[解决办法]
在存储里不能直接select * from 语句,要用into ,看你的意思是要返回多条记录,用游标返回好点

热点排行