bu tabloda
1-) isim
2-) olasılık
yazıyor.
ben bu olasılıklara göre rastgele bir isim seçmek istiyorum.
bunun için bir stored procedure yazmaya çalıştım.
önce
select @upper=sum(sprobability) from treasure_probability
diyerek tüm olasılıkları topladım.
daha sonra bu @upper ile 1 arasında rastgele bir sayı seçtim.
- while @random<@upper
begin
SET @strSQL='SELECT TOP ' + @berkin + ' @upper=sum(sprobability),@sonuc=nitemnum FROM [dbo].[TREASURE_PROBABILITY]'
EXEC (@strSQL)
set @berkin=@berkin+1
end
yanlız yukarıda yazdığım dinamik sorgu olduğu için bu stored procedure den tamamen ayrı olarak çalışıyor ve [@sonuc=nitemnum] eşitlemesini yapmıyor.
kendisi için ayrı bir @sonuc tanımlamamı istiyor.
benim sorum şu ;
bu dinamik sorguda yazdığım değerleri nasıl normal stored procedure'üme alırım?
(yani sorgudaki @upper ı benim tanımladığım @upper a nasıl alabilirim)
veya bu işi yapmanın daha değişik bir yolu var mı?