專案隨筆 SQL迴圈結果集

2022-05-06 17:21:15 字數 887 閱讀 7647

1:游標,這不多說。

2:臨時表:

思路如下:

@@rowcount來控制迴圈結束標記。

臨時表裡生成乙個自動增長id

達到總行數時,結束迴圈。

大概寫一下:

假設有個實體表table_useraccount

兩列:userid    uniqueidentifier

username     nvarchar(100)

現要遍歷該學生表

/*行號,用於迴圈*/

declare @rownum int

/*總行數*/

declare @totalcount int

/*建立臨時表#tmp_user_0323用於迴圈*/

select identity(1,1) as id,userid,username into #tmp_user_0323 from table_useraccount

/*設定迴圈總數*/

set @totalcount = @@rowcount

/*設定迴圈起始值*/

set @rownum = 1

while @rownum <=@totalcount

begin

/*具體------------------操作*/

select userid,username from #tmp_user_0323

where id = @rownum

/*迴圈變數增 1*/ 

set @rownum = @rownum + 1

end大概這個樣子。當然,也看到有人用set @rowcount 0/1來處理或者用min/max來進行迴圈結束控制。

迴圈麼,只要找到結束條件就ok了。

不知道還有其他方法沒呢?

SQL迴圈結果集

1 游標,這不多說。2 臨時表 思路如下 rowcount來控制迴圈結束標記。臨時表裡生成乙個自動增長id 達到總行數時,結束迴圈。大概寫一下 假設有個實體表table useraccount 兩列 userid uniqueidentifier username nvarchar 100 現要遍歷...

SQL 操作結果集 並集 差集 交集 結果集排序

為了配合測試,特地建了兩個表,並且新增了一些測試資料,其中重覆記錄為東吳的人物。表 person 1魏國人物 表 person 2蜀國人物 a union形成並集 union可以對兩個或多個結果集進行連線,形成 並集 子結果集所有的記錄組合在一起形成新的結果集。1 限定條件 要是用union來連線結...

SQL 操作結果集 並集 差集 交集 結果集排序

為了配合測試,特地建了兩個表,並且新增了一些測試資料,其中重覆記錄為東吳的人物。表 person 1魏國人物 表 person 2蜀國人物 a union形成並集 union可以對兩個或多個結果集進行連線,形成 並集 子結果集所有的記錄組合在一起形成新的結果集。1 限定條件 要是用union來連線結...