这个语名提示NUM1无效,求解答,这是从SQLSERVER改过来的!谢谢,兄弟没有分了
declare
n number;
pageNum number;
pageIndex number;
count1 number;
num1 number;
begin
pageNum:=10;
pageIndex:=1;
num1:= pageIndex*pageNum;
select count(*) into count1 from NBMM_USER_MSG where mType=''+1+'';
if(count1<num1)
then
n:=count1-((pageIndex-1)*pageNum);
else
n:=pageNum;
end if;
Execute Immediate 'select mid,mtype,m_mid,m_floor,muser,mmail,muserip,msg,muserimg,mdate,count1 as allcount from (select * from (select * from NBMM_USER_MSG where mType=''+1+'' and rownum<=num1 order by mDate desc) A where rownum<=n order by mDate asc ) B order by mDate desc';
end;
------解决方案--------------------
Execute Immediate ‘... rownum <= :1 order by mDate desc) A where rownum<= :2 ...'
using num1,n;
------解决方案--------------------
Execute Immediate 'select mid,mtype,m_mid,m_floor,muser,mmail,muserip,msg,muserimg,mdate,count1 as allcount from (select * from (select * from NBMM_USER_MSG where mType=''+1+'' and rownum<=num1 order by mDate desc) A where rownum<=n order by mDate asc ) B order by mDate desc';
这句有问题,num1、n是变量,不能放在字符串里面,应该用连接符
------解决方案--------------------
连接