Nasıl bir zamanlar her satır sorgu tarafından döndürülen saklı bir yordamı çalıştırmak mı?
Belirli bir şekilde kullanıcı veri değiştiren bir saklı yordam var. Bu user_id geçtim ve o şeyi yapar. Bir tabloda bir sorgu çalıştırmak istiyorum ve her user_id ben o user_id kez saklı yordamı çalıştırmak bulun
Nasıl bu sorgu yazıyorum?
SQL SERVER
CEVAP
bir imleç kullanın
EK: [MS SQL imleç örnek]
declare @field1 int
declare @field2 int
declare cur CURSOR LOCAL for
select field1, field2 from sometable where someotherfield is null
open cur
fetch next from cur into @field1, @field2
while @@FETCH_STATUS = 0 BEGIN
--execute your sproc on each row
exec uspYourSproc @field1, @field2
fetch next from cur into @field1, @field2
END
close cur
deallocate cur
MS SQL, here's an example article
imleç-tabanlı işlemler daha yavaş, ama döngü; detaylar 3 ** manuel daha hızlı olduğunu unutmayın
EK 2: varsa işlem sadece bir kaç kayıtları, Çek içine bir temp tablo ilk ve çalıştır imleç üzerindeki geçici tablo; bu-ecek önlemek SQL tırmanan tablo-kilitler ve hızlı işlem
EK 3: ve tabii ki, eğer saklı yordam her kullanıcı KİMLİĞİ için her ne yapıyorsa satır ve tek bir SQL update ifadesi olarak her şeyi çalıştırabilirsiniz eğer, bu en iyi olurdu
Nasıl sipariş sonra Oracle bir sorgu t...
C içinde saklı bir yordamı çalıştırmak...
Nasıl MAX ETMENİZ sorgu TARAFINDAN bir...
Nasıl hesapların yapılabilmesi dizi il...
Nasıl bir PostgreSQL '' sorg...