📄 Tam SQL Kodu (Referans)
Analiz eklerken buradan kod parçalarını kopyalayabilirsiniz
CREATE PROC [dbo].[SP_GIDER_PLASIYER_AYLARA_GORE_KALEM_TOPLAM_TABLOSU]
( @YIL INT)
AS
BEGIN
DECLARE @plasOfMonths TABLE(YIL INT, PLAS VARCHAR(50), GIDER 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 @PLASSAY INT
DECLARE @PLASSATIR INT
DECLARE @PLAS VARCHAR(50)
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 @GIDER VARCHAR(50)
SET @PLASSAY = ISNULL((SELECT COUNT(*) FROM dbo.PLASIYERLER_GIDER_SIRALI), 0)
SET @PLASSATIR = 1
WHILE @PLASSATIR <= @PLASSAY
BEGIN
SET @PLAS = ISNULL((SELECT PLAS FROM dbo.PLASIYERLER_GIDER_SIRALI WHERE SIRA = @PLASSATIR), '')
SET @SAY = ISNULL((SELECT COUNT(*) FROM dbo.[001_GIDERLER]), 0)
SET @SATIR = 1
WHILE @SATIR <= @SAY
BEGIN
SET @GIDER = ISNULL((SELECT DEFINITION_ FROM dbo.[001_GIDERLER] WHERE SIRA = @SATIR), '')
SET @AYLIK = 1
SET @JN = 0
SET @FB = 0
SET @MR = 0
SET @AP = 0
SET @MY = 0
SET @JU = 0
SET @JL = 0
SET @AU = 0
SET @SP = 0
SET @OC = 0
SET @NV = 0
SET @DC = 0
WHILE @AYLIK <= 12
BEGIN
SET @DEGER = ISNULL((SELECT CASE
WHEN @PLAS = 'SIRKET' THEN SUM(AYLIK_TOPLAM)
ELSE MAX(AYLIK_TOPLAM)
END
FROM dbo.[001_PLASIYER_SIRALI_AYLIK_GIDER_KALEM_TOPLAMLARI]
WHERE AY = @AYLIK AND PLAS = @PLAS AND YIL = @YIL AND GIDER = @GIDER), 0)
IF @DEGER = 0
SET @DEGER = 1
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 (@YIL, @PLAS, @GIDER, @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
SET @PLASSATIR = @PLASSATIR + 1
END
-- Yeni tabloya verileri aktarma
INSERT INTO dbo.GIDER_PLASIYER_AYLARA_GORE_KALEM_TOPLAM_TABLOSU (YIL, PLAS, GIDER, JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DCM, TOPLAM)
SELECT YIL, PLAS, GIDER, 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
➕ Yeni Kod Analizi Ekle
📋 Mevcut Analizler (0)
Henüz kod analizi eklenmemiş.
Yukarıdaki formu kullanarak ilk analizi ekleyin.