IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[mps_g_exportapi]') AND type = 'P')
DROP PROCEDURE [dbo].[mps_g_exportapi]
GO
create  procedure [dbo].[mps_g_exportapi](
@cmpid int,
@pagesize int , 
@pagecount int , 
@pageobjids varchar(8000),
@key nvarchar(50)
) 
as 
begin 
 
set nocount on  
declare @s1 varchar(8000)
declare @s2 varchar(100) 
declare @i int 
declare @amount int 
select @amount = @pagecount*@pagesize 
declare @pobjs table(nid int identity(1, 1), ordid bigint) 
set @s1 = @pageobjids 
while (@s1>'') 
begin 
set @i = charindex(',', @s1) 
if (@i>0) 
begin 
set @s2 = substring(@s1,1,@i-1) 
set @s1 = substring(@s1,@i+1,len(@s1)-@i) 
end else  
begin 
set @s2 = @s1 
set @s1 = '' 
end 
insert into @pobjs(ordid) values(convert(bigint,@s2)) 
end 
if (exists (select top 1 * from @pobjs)) 
begin 
select exp_id,exp_cmpid,exp_name,CONVERT(varchar(50),exp_sql,50)+'..' exp_sql,exp_language,exp_result,exp_allowip,exp_allowtime,exp_createtime
from  mps_exportapi a, @pobjs
where exp_id=ordid
order by nid 
return 
end 

set @key = '%'+@key+'%' 
select count(1) cnt from mps_exportapi  
where exp_cmpid=@cmpid and 
(
 (exp_name like @key ) or 
 (exp_result like @key) or
 (exp_language like @key) or
 (exp_allowip like @key) or
 (exp_allowtime like @key)
) 

-- 返回所有ID
insert into @pobjs(ordid) select top(@amount) exp_id from mps_exportapi 
where exp_cmpid=@cmpid and 
(
 (exp_name like @key ) or 
 (exp_result like @key) or
 (exp_language like @key) or
 (exp_allowip like @key) or
 (exp_allowtime like @key)
) 
order by exp_name 

select ordid from @pobjs 
order by nid 
-- 返回第一页 
select exp_id,exp_cmpid,exp_name,CONVERT(varchar(50),exp_sql,50)+'..' exp_sql,exp_language,exp_result,exp_allowip,exp_allowtime,exp_createtime
from mps_exportapi a,@pobjs 
where a.exp_id=ordid 
order by nid


set nocount off 

end