SQL server應用自界說函數和游標。本站提示廣大學習愛好者:(SQL server應用自界說函數和游標)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL server應用自界說函數和游標正文
編號
尺度宗地編碼(landCode)
地點區段編碼(sectCode)
1
131001BG001
G001
2
131001BG002
G001
3
131001BG003
G001
4
131001BG004
G002
5
131001BG005
G003
如今須要將表中的數據轉換為以下表所示成果:
編號
區段編碼
包括的尺度宗地
1
G001
131001BG001,131001BG002,131001BG003
2
G002
131001BG004
3
G003
131001BG005
在SQL server數據庫中,創立自界說函數,經由過程游標,將表的數據轉化為成果表,函數代碼以下所示:
create function combstr(@name nvarchar(50))
returns nvarchar(300)
as
begin
declare @resultStr nvarchar(300)
declare @tempStr nvarchar(500)
declare @flag int
declare myCur cursor --界說游標
For(select landCode from land where sectCode=@name )
open myCur –-翻開游標
fetch next from myCur into tempStr –將游標下移
set @flag=0
while @@fetch_status=0
begin
if @flag=0
begin
set @resultStr=@tempStr
end
else
begin
set @resultStr=@resultStr+','+@tempStr
end
set @flag=@flag+1
fetch next from myCur into @tempStr
end
close myCur
deallocate myCur
return @result
end