Doğru Cevap
-
Arkadaşlar sorunun cevabı şudur :
İlgilenen olursa diye cevabı veriyorum.
ALTER PROCEDURE dbo.HaftalikLiderlikKomisyonuHesaplamasi
--SagKenarKisiToplam ve SolKenarKisiToplam kısa kenarı bulmamıza yarıyacak
AS
Declare
@SagToplamPuan as float,
@SolToplamPuan as float,
@SagToplamKisi as int,
@SolToplamKisi as int,
@KomisyonDonemi as decimal,
@SponsorID as decimal,
@KullaniciID as decimal,
@RutbeID as decimal,
@DengePuan as int = NULL,
@DengeKisi as int = NULL,
@SagKenarKisiToplam as int,
@SolKenarKisiToplam as int,
@KomisyonOrani as decimal,
@KazanilanKomisyonTutari as Float
--bu procedurede kuulanacağımız tüm değişkenler buraya
Set
@KomisyonDonemi = (SELECT dbo.FnRetriveKomisyonDonemiID())
DECLARE MyCursor CURSOR
FOR
SELECT SponsorID, KullaniciID, SagToplamPuan, SolToplamPuan, SagToplamKisi, SolToplamKisi, SagKenarKisiToplam, SolKenarKisiToplam
FROM HaftalikLiderlikKomisyonu WHERE (KomisyonDonemiID = @KomisyonDonemi)
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO
@SponsorID,
@KullaniciID,
@SagToplamPuan,
@SolToplamPuan,
@SagToplamKisi,
@SolToplamKisi,
@SagKenarKisiToplam,
@SolKenarKisiToplam
--bu kısıma bize her turda sıradaki kayıttan dönmesini istediğimiz değerleri giriyoruz.
WHILE @@FETCH_STATUS <> -1
BEGIN
--tüm T-Sql işlemleri burada yapılacak.
END
FETCH NEXT FROM MyCursor INTO
@SponsorID,
@KullaniciID,
@SagToplamPuan,
@SolToplamPuan,
@SagToplamKisi,
@SolToplamKisi,
@SagKenarKisiToplam,
@SolKenarKisiToplam
--yukarıya yazdığımız değişkenleri burayada yazıyoruz ki bize geri dönsünler.
CLOSE MyCursor
DEALLOCATE MyCursor
RETURN
Cevaplar
-
--E bu durum da birde kullanıcı tablosu olmak zorundadır değil mi?
bu sorunun cevabı evet. başka soru göremedim.-
oguzmusa
Evet @hüseyin kardeş. Senin başka soru görememiş olman soru sorduğum gerçeğini değiştirmiyor.
Biraz daha incelersen soruyu görürsün... Teşekkürler.10 yıl önce yazılmış -
huseyn
--İşte o tablodaki her kayıt için bu sorgu çalışıp her kullanıcının id bilgisi ile kayıt eklemeli....
--Tabiki bunu SP içinde yapmalı :)
burada bir sorunun cevabı var. hayır gerçekten soru nedir? neden açıkça sormuyorsunuz?
niyetim laf sokmak falan değiş yanlış anlamayın sakın. neden daha açık sormuyorsunuz onu merak ediyorum10 yıl önce yazılmış 10 yıl önce güncellenmiş -
oguzmusa
ALTER PROCEDURE ankadeneme123AS
DECLARE
@KomDonID decimal(18,0),
@KulID decimal(18,0)
SET
@KomDonID = (SELECT MAX(ID) AS KomisyonDonemiID FROM KomisyonDonemleri)
SET
@KulID = (select ID from Yoneticiler)
while @KulID is not null
BEGIN
--KullaniciPuanlar tablosuna (@Tip = 4)
--EXEC SPKullaniciPuanlarInsertUpdate @KullaniciID = @KulID, @KomisyonDonemiID = @KomDonID, @Tip = 4;
INSERT INTO KullaniciPuanlar(KullaniciID, KomisyonDonemiID) values (@KulID, 4)
--ve HaftalikTakimIslemHacmiKomisyonu tablosuna her kullanıcı için bir kayıt daha açacak. (@Tip = 4)
--EXEC SPHaftalikTakimIslemHacmiKomisyonuInsertUpdate @SponsorID = SponsorID, @KullaniciID = 0, @KomisyonDonemiID = KomisyonDonemiID, @Tip = 4;
END
RETURN
burada gördüğünüz üzere iki tane parametrem var.
bu parametrelerden biri sabit. misal 4 gibi bir değer.
ikince parametreye gelince. Hata burada.
yapılmak istenen kullanıcı tablosundaki her kayıt için bir kere dönecek; ve Kullanici tablosundaki her Id değerini alıp başka bir tabloya ekleyecek bir sistem kurmaya çalışıyoruz.
Olay budur kısaca.
Ama kuramıyorum...
c# ile olsa çok kolay ama bunu SP de yazmam gerek....10 yıl önce yazılmış
-