程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved