我有一個包含memberId的表,但它們並不同時運行。儘管表沒有併發編號
我該如何循環瀏覽它們?
我有這樣的:
select mm.memberid, mm.aspnetuserid, mm.email
into #MemberIdsToDelete
from membership.members as mm
left join aspnet_membership as asp
on mm.aspnetuserid=asp.userid
left join trade.tradesmen as tr
on tr.memberid=mm.memberid
where asp.isapproved = 0 and tr.ImportDPN IS NOT NULL and tr.importDPN <> ''
order by mm.memberid
ALTER TABLE #MemberIdsToDelete ADD id int NOT NULL AUTO_INCREMENT
DECLARE @MaxRownum int
SET @MaxRownum = (SELECT MAX(id) FROM MemberIdsToDelete)
WHILE @Iter <= @MaxRownum
-- do things
SET @Iter = @Iter + 1
END
以上是不正確的,我在ALTER TABLE線得到錯誤很明顯: 附近有語法錯誤AUTO_INCREMENT「
爲什麼你需要通過他們循環逐行? 「做什麼」需要做什麼?如果可能,您應該在SQL中使用基於集合的操作。你也需要'IDENTITY'而不是'AUTO_INCREMENT'。你可以使用'select IDENTITY(INT,1,1)AS ID,mm.memberid,mm.aspnetuserid,mm.email INTO ....'在一個操作中完成。 –
併發?難道你的意思是「持續」? – Tomalak
我必須遍歷每一行才能獲取memberid,這是不連續的,所以我可以從memberId匹配的所有其他表中刪除。 –