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

mybios 2002-09-29 07:35:08
例如我有一个字符串作为函数的输入参数中。字符串是用逗号隔开的格式(即'aaa,bbb,ccc,ddd,eee'之类的)。我想这个函数能返回一个记录集,记录集就是
aaa
bbb
ccc
ddd
这四条记录。怎么实现?注意。这个函数要用在视图中。所以不要告诉我用存储过程实现的方法。如果用存储过程来实现的话,我都会,我现在要用create function来实现。
...全文
46 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
使用表变量

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧