乙個簡單的乙個sql表遍歷

2022-02-17 11:07:17 字數 561 閱讀 8967

簡單的乙個sql表遍歷

一般我們寫儲存過程或者其他sql語句的時候都會用到迴圈遍歷資料,最常用的兩種就是

1、游標

2、臨時表+while

下面貼出示例**

declare  @minrelogid  int--這裡的 minrelogid 一般都是表中的主鍵

select top 1 @minrelogid= min(pkid) from apsi_orderreplacelog --找出最小的主鍵 (pkid 為主鍵)

while(@minrelogid is not null )

begin

--主要的業務邏輯

select top 1 @minrelogid= min(pkid) from apsi_orderreplacelog and pkid>@minrelogid--最關鍵的一步 找出下乙個最小的主鍵

end

這中找最小值遍歷的方式,**較簡潔,我比較喜歡用這種,就是不知道這種和其他兩種對比 有什麼缺點,還望各位大佬們指點。

乙個簡單的sql

declare wokno varchar 500 用來記錄職工號 declare str nvarchar 4000 用來存放查詢語句 declare count int 求出總記錄數 declare i int set i 0 select count count distinct wokno ...

乙個簡單的SQL題

很久沒寫日誌了啊.唉.可能是自己比較懶吧.找工作呢.不怎麼想找.前幾天去南京一家軟體公司筆試.遇到了乙個沒見過的sql題.題目是這樣的.一表中有a b c三列,寫乙個sql語句,條件是如果a大於b則返回a,否則返回b 如果b大於c則返回b,否則返回c。本來以為自己對sql語句已經了解的很多了.呵呵....

乙個簡單遍歷的演算法優化

include include define n 100000 int main int number 0,temp1,temp2 for number 1 number剛開始以為這已經算行了,但是在想了想過後,若是不是求加100再加168等等呢,萬一要求的範圍是一億呢?如果還是使用遍歷無疑這個程式...