• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

建立的function中不能使用会造成数据库永久改变的语句,也不能建立临时表!!!!!!!!怎么办?100分在线等待!!!!!!!

mybios 2002-09-29 07:35:08
例如我有一个字符串作为函数的输入参数中。字符串是用逗号隔开的格式(即'aaa,bbb,ccc,ddd,eee'之类的)。我想这个函数能返回一个记录集,记录集就是
aaa
bbb
ccc
ddd
这四条记录。怎么实现?注意。这个函数要用在视图中。所以不要告诉我用存储过程实现的方法。如果用存储过程来实现的话,我都会,我现在要用create function来实现。
...全文
12 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mybios 2002-09-29
高手!!!结贴!!!!
回复
playyuer 2002-09-29
回复
IronPromises 2002-09-29
扬兄,唉,没有办法呀。
你还在公司?
回复
Yang_ 2002-09-29
铁斑竹,还加班呢?
回复
Yang_ 2002-09-29
create function GetRecords(@str varchar(2000))
returns @Rec table (Record varchar(40))
as
begin
declare @s varchar(2000)
declare @r varchar(2000)
declare @i varchar(2000)
set @s=@str
set @i=CHARINDEX(',',@s)
while @i>0
begin
set @r=left(@s,@i-1)
insert @Rec values (@R)
set @s=right(@s,len(@s)-@i)
set @i=CHARINDEX(',',@s)
end
if len(@s)>0
insert @Rec values (@s)

return
end
go


调用:
select * from dbo. GetRecords('aaa,bbb,ccc,ddd,eee')

结果:
Record
------
aaa
bbb
ccc
ddd
eee
回复
IronPromises 2002-09-29
使用表变量
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2002-09-29 07:35
社区公告
暂无公告