Nasıl bir zamanlar her satır sorgu tarafından döndürülen saklı bir yordamı çalıştırmak mı? | Netgez.com
SORU
20 Mayıs 2009, ÇARŞAMBA


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
20 Mayıs 2009, ÇARŞAMBA


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

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cdgotx

    cdgotx

    8 Kasım 2011
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009