你邏輯流程有問題 ,下面是你的邏輯流程,
成都創新互聯專注于企業網絡營銷推廣、網站重做改版、恭城網站定制設計、自適應品牌網站建設、H5技術、電子商務商城網站建設、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為恭城等各大城市提供網站開發制作服務。
讀取下一條→加值→[判斷是否結尾→讀取下一條→加值](循環)
而@@FETCH_STATUS返回3種狀態,
0 FETCH 語句成功。
-1 FETCH 語句失敗或此行不在結果集中。
-2 被提取的行不存在。
這樣在游標移動到最后一行的時候,進行while判斷@@FETCH_STATUS為0 ,進行一次加值,然后又直接進入while判斷 這時候你還沒有移動游標,@@FETCH_STATUS還是為0,又進行了一次加值,然后移動游標,進行判斷@@FETCH_STATUS不為0,退出循環
所以應該修改邏輯為
讀取下一條→[判斷是否結尾→加值→讀取下一條](循環)
SQL語句調整如下
===========================================
OPEN Employee_Cursor
FETCH NEXT FROM Employee_Cursor into @id,@name
WHILE @@FETCH_STATUS = 0
BEGIN
set @finalname = @finalname + @name
FETCH NEXT FROM Employee_Cursor into @id,@name
END
CLOSE Employee_Cursor
==================================
以上語句實測試通過
先移動游標,然后就開始判斷,為真進行加值 然后移動游標,這樣就沒問題了,
sqlserver2005以上的版本可用
select 單號,申請人,
stuff((select '/'+文件名 from tbB where a.單號=單號 for xml path('')),1,1,'')文件名
from tbA as a
select?id,row_number()?over?(order?by?id)?rank?from?table
sqlserver2005以后版本的話可以這樣
sqlserver語句添加列步驟如下:
1、首先我們準備一個數據表,接下來將會在這個表中添加列。
2、然后我們通過alter? table語句來給表添加一個列。
3、回到數據表一會我們看到列已經被添加進數據表了。
4、接下來我們在添加列的時候同時添加上默認值,這個時候運用default關鍵字。
5、然后回到數據表,我們就看到默認值有內容了。
6、另外在數據表中經常使用的是uniqueidentifier類型,這種字段設置默認值。
7、回到數據表中我們可以看到默認值已經添加上了。
文章題目:sqlserver累加列,sql語句 數據累加
文章地址:http://www.2m8n56k.cn/article36/hcedpg.html
成都網站建設公司_創新互聯,為您提供云服務器、自適應網站、營銷型網站建設、面包屑導航、虛擬主機、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯