日期:2014-05-17  浏览次数:21666 次

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 ,看你的意思是要返回多条记录,用游标返回好点