IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[pub_g_dbconnection]') AND type = 'P')
DROP PROCEDURE [dbo].[pub_g_dbconnection]
GO
create  procedure [dbo].[pub_g_dbconnection](
@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 *
from  ebs_kernel..pub_dbconnection a, @pobjs
where dc_id=ordid
order by nid 
return 
end 

set @key = '%'+@key+'%' 
select count(1) cnt from ebs_kernel..pub_dbconnection  
where dc_cmpid=@cmpid and 
(
 (dc_name like @key ) or 
 (dc_connectionurl like @key) or
 (dc_username like @key) or
 (dc_dbtype like @key)
) 

-- 返回所有ID
insert into @pobjs(ordid) select top(@amount) dc_id from ebs_kernel..pub_dbconnection 
where dc_cmpid=@cmpid and 
(
 (dc_name like @key ) or 
 (dc_connectionurl like @key) or
 (dc_username like @key) or
 (dc_dbtype like @key)
) 
order by dc_name 

select ordid from @pobjs 
order by nid 
-- 返回第一页 
select * 
from ebs_kernel..pub_dbconnection a,@pobjs 
where a.dc_id=ordid 
order by nid


set nocount off 

end