use FundDb_Server
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*********封闭式基金的分页显示****************/
ALTER procedure [dbo].[up_GetCloseFundList]
@p_PageSize int= 30,
@p_PageIndex int= 1,
@p_filter nvarchar(200),
@p_TotalRecords int output
as
set nocount on
select @p_TotalRecords=count(*) from CloseFund where symbol like @p_filter
create table #tmp
(
rowid int,
Symbol varchar(50)
)
create table #getStr
(
rowid int,
Symbol varchar(50),
FundShortName nvarchar(100),
StartDate smalldatetime,
EndDate smalldatetime,
IPODate smalldatetime,
Category nvarchar(50),
[Name] nvarchar(50),
CompanyName nvarchar(50),
CustodainName nvarchar(50)
)
insert into #tmp select ROW_NUMBER() over (order by Symbol desc) as rowid, Symbol from CloseFund where symbol like @p_filter
select * into #gStr from(
select
rowid,
t.Symbol,
FundShortName,
convert(varchar(10),StartDate, 121) as StartDate,
convert(varchar(10),EndDate, 121) as EndDate,
convert(varchar(10),IPODate,121) as IPODate,
fc.CategoryName as Category,
m.[Name],
F.CompanyShortName as CompanyName,
cd.CompanyShortName as CustodainName
from #tmp t
inner join CloseFund c on c.Symbol collate SQL_Latin1_General_CP1_CI_AS=t.Symbol
left join FundCompany F on F.CompanyCode=c.CompanyId
left join Custodian cd on cd.CompanyCode=c.CustodianId
left join FundCategory fc on fc.CategoryCode=c.Category
left join FundManager fm on c.Symbol=fm.Symbol
left join ManagerList m on m.ManagerId=fm.ManagerId) g
select * from #gStr
declare @Symbol varchar(6)
create function f_getStr(@Symbol)
returns varchar(100)
as
begin
declare @ret varchar(100)
set @ret = ' '
select @ret = @ret+ ', '+[Name] from #gStr where Symbol = @Symbol
set @ret = stuff(@ret,1,1, ' ')
return @ret
end
select rowid,Symbol,FundShortName,StartDate,EndDate,IPODate,Category,
f_getStr(Symbol) as ManagerName,CompanyName,CustodainName from #gStr
group by Symbol where rowid>@p_PageSize*(@p_PageIndex-1) and rowid<=@p_PageSize*@p_PageIndex
order by rowid
drop table #tmp
drop table #gStr
drop function f_getStr
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
报这错:Msg 156, Level 15, State 1, Procedure up_GetCloseFundList, Line 56
Incorrect syntax near the keyword 'function'.
Msg 195, Level 15, State 10, Procedure up_GetCloseFundList, Line 68
'f_getStr' is not a recognized built-in function name.