SQL server中怎么使用自定義函數(shù)和游標,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供烏達企業(yè)網(wǎng)站建設,專注與成都做網(wǎng)站、成都網(wǎng)站制作、html5、小程序制作等業(yè)務。10年已為烏達眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
編號
標準宗地編碼(landCode)
所在區(qū)段編碼(sectCode)
1
131001BG001
G001
2
131001BG002
G001
3
131001BG003
G001
4
131001BG004
G002
5
131001BG005
G003
現(xiàn)在需要將表中的數(shù)據(jù)轉換為如下表所示結果:
編號
區(qū)段編碼
包含的標準宗地
1
G001
131001BG001,131001BG002,131001BG003
2
G002
131001BG004
3
G003
131001BG005
在SQL server數(shù)據(jù)庫中,創(chuàng)建自定義函數(shù),通過游標,將表的數(shù)據(jù)轉化為結果表,函數(shù)代碼如下所示:復制代碼 代碼如下: 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
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。