Genel Bilgiler

SQL Server
Stored Procedure
✅ Etkilenmez
23.12.2025 07:15
23.12.2025 16:10

Notlar

Düzenle

Henüz not eklenmemiş.

+ Not ekle

İstatistikler

0
Kod Analizi
58
Satır
3
Kullandığı
2
Kullanan

Kullandığı Nesneler (3)

Kullanan Nesneler (2)

CALLS_SP
CALLS_SP

Bağımlılık Ağacı

Etki Ağacı

Tam SQL Kodu

Düzenle
CREATE PROC [dbo].[SP_PLASIYER_GIDER_AYLARA_GORE_KALEM_TOPLAM_TABLOSU]
(@YIL INT)
AS
BEGIN
    DECLARE @plasOfMonths TABLE(PLAS VARCHAR(50), JAN FLOAT, FEB FLOAT, MAR FLOAT, APR FLOAT, MAY FLOAT, JUN FLOAT, JUL FLOAT, AUG FLOAT, SEP FLOAT, OCT FLOAT, NOV FLOAT, DCM FLOAT, TOPLAM FLOAT)
    DECLARE @SAY INT
    DECLARE @SATIR INT
    DECLARE @AYLIK INT
    DECLARE @JN FLOAT
    DECLARE @FB FLOAT
    DECLARE @MR FLOAT
    DECLARE @AP FLOAT
    DECLARE @MY FLOAT
    DECLARE @JU FLOAT
    DECLARE @JL FLOAT
    DECLARE @AU FLOAT
    DECLARE @SP FLOAT
    DECLARE @OC FLOAT
    DECLARE @NV FLOAT
    DECLARE @DC FLOAT
    DECLARE @DEGER FLOAT
    DECLARE @PLAS VARCHAR(50)
    SET @SAY = ISNULL((SELECT COUNT(*) FROM dbo.[PLASIYERLER_GIDER_SIRALI]),0)
    SET @SATIR = 1
    WHILE @SATIR <= @SAY
    BEGIN
        SET @PLAS = ISNULL((SELECT PLAS FROM dbo.[PLASIYERLER_GIDER_SIRALI] WHERE SIRA=@SATIR),'')
        SET @AYLIK = 1
        WHILE @AYLIK <= 12
        BEGIN
            SET @DEGER = ISNULL((SELECT SUM(AYLIK_TOPLAM) FROM dbo.[001_PLASIYER_SIRALI_AYLIK_GIDER_KALEM_TOPLAMLARI] WHERE AY = @AYLIK AND YIL = @YIL AND PLAS = @PLAS AND GIDER<>'PRIM ÖDEME'),0)
            IF @AYLIK = 1 SET @JN = @DEGER
            ELSE IF @AYLIK = 2 SET @FB = @DEGER
            ELSE IF @AYLIK = 3 SET @MR = @DEGER
            ELSE IF @AYLIK = 4 SET @AP = @DEGER
            ELSE IF @AYLIK = 5 SET @MY = @DEGER
            ELSE IF @AYLIK = 6 SET @JU = @DEGER
            ELSE IF @AYLIK = 7 SET @JL = @DEGER
            ELSE IF @AYLIK = 8 SET @AU = @DEGER
            ELSE IF @AYLIK = 9 SET @SP = @DEGER
            ELSE IF @AYLIK = 10 SET @OC = @DEGER
            ELSE IF @AYLIK = 11 SET @NV = @DEGER
            ELSE IF @AYLIK = 12 SET @DC = @DEGER
            SET @AYLIK = @AYLIK + 1 
        END
        INSERT INTO @plasOfMonths VALUES (@PLAS, @JN, @FB, @MR, @AP, @MY, @JU, @JL, @AU, @SP, @OC, @NV, @DC, (@JN + @FB + @MR + @AP + @MY + @JU + @JL + @AU + @SP + @OC + @NV + @DC)) 
        SET @SATIR = @SATIR + 1 
    END
    
    -- Yeni tabloya verileri aktarma
    INSERT INTO dbo.PLASIYER_GIDER_AYLARA_GORE_KALEM_TOPLAM_TABLOSU (PLAS, YIL, JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DCM, TOPLAM)
    SELECT PLAS, @YIL, JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DCM, TOPLAM FROM @plasOfMonths

    -- Geçici tabloyu da döndürme (istege bagli)

END

Kodun Çalışma Mantığı (Adım Adım)

Analiz Ekle/Düzenle

Henüz bu nesne için bir analiz girilmemiş.

İlk Analizi Ekle