SQL 迴圈遍歷

2021-07-09 01:53:59 字數 1430 閱讀 7712

一:遍歷 資料表

select  hid into #temp from  md_sheettemplate  where  sheetstateid=1

declare  @hid  varchar(50)

while exists(  select  hid  from  #temp  )    ---遍歷臨時表

begin

select top 1 @hid=hid  from  #temp 

print  @hid

delete  from  #temp  where  hid=@hid

end二:遍歷字串

alter procedure [dbo].[sp_pro_pw]

@wcode varchar(10),

@pcode varchar(500)

asbegin

set nocount on;

set @pcode=@pcode+',';  --刪除最後乙個,因為最後乙個後面沒有逗號,所以在迴圈中跳出,需另外再刪除 

declare @pointerprev int 

declare @pointercurr int 

declare @tid int 

declare @count int

declare @newcode varchar(500)

set @pointerprev=1 

while (@pointerprev < len(@pcode)) 

begin 

set @pointercurr=charindex(',',@pcode,@pointerprev) 

if(@pointercurr>0) 

begin 

set @tid=cast(substring(@pcode,@pointerprev,@pointercurr-@pointerprev) as int) 

select  @count=count(*)  from  zcheckwork_wp  where  wcode=@wcode and  pcode=@tid

if(@count=0)

begin

insert into [zcheckwork_wp]

([wcode]

,[pcode])

values(@wcode,@tid);

endset @pointerprev = @pointercurr+1 

end 

else 

break 

end 

--刪除已存在的資料

delete from  zcheckwork_wp  where wcode=@wcode and  pcode not  in( select  str2table from  strtotable(@pcode))

return 1

end

sql 游標迴圈遍歷

原文 sql 游標迴圈遍歷 寫儲存過程的時候碰到乙個需要對資料進行遍歷迴圈操作的問題,最後通過游標解決了,感覺很適用 1 declare level varchar 100 2 declare uid varchar 100 3 declare cur cursor 定義乙個游標 4read onl...

js迴圈遍歷

方式一 var arr 1,2,3,4,5 for let i 0 i方式一利用for迴圈來遍歷陣列的缺點就是 不夠簡潔。下面介紹乙個寫法更加簡潔的方式。方式二var arr 1,2,3,4,5 arr.foreach function value,index 利用foreach迴圈 量少了很多,寫...

Freemarker迴圈遍歷

迴圈格式 list 要迴圈的資料 as 迴圈後的資料 迴圈的下標 通過,item index獲取 比如 list studentlist as student 資料集 建立乙個資料集,可以是pojo也可以是map,推薦使用map map data new hashmap liststulist ne...