TSQL'de imleç kullanmadan bir tablo değişkeni üzerinde döngü yapmanın bir yolu var mı?
Diyelim ki aşağıdaki basit tablo değişkenine sahibim:
declare @databases table
(
DatabaseID int,
Name varchar(15),
Server varchar(15)
)
-- insert a bunch rows into @databases
Satırlar arasında yineleme yapmak istersem tek seçeneğim bir imleç bildirmek ve kullanmak mıdır? Başka bir yolu var mı?
231
3
Öncelikle her satırda yineleme yapmanız gerektiğinden kesinlikle emin olmalısınız - küme tabanlı işlemler aklıma gelen her durumda daha hızlı çalışacak ve normalde daha basit kod kullanacaktır.
Verilerinize bağlı olarak, aşağıda gösterildiği gibi sadece select deyimlerini kullanarak döngü oluşturmak mümkün olabilir:
Başka bir alternatif de geçici bir tablo kullanmaktır:
Seçmeniz gereken seçenek gerçekten de verilerinizin yapısına ve hacmine bağlıdır.
Not: SQL Server kullanıyorsanız, şunları kullanmanız daha iyi olur:
COUNT
kullanımı tablodaki her bir satıra dokunmak zorunda kalacaktır,
EXISTS` sadece ilk satıra dokunmalıdır (aşağıdaki Josef'in cevabına bakın).Ben olsam şöyle yapardım:
Bir while döngüsü kullanabilirsiniz: