DELIMITER |
CREATE DEFINER = 'root'@'localhost' PROCEDURE DENEME
(
OUT MIKTAR_TOPLAMI float
)
BEGIN
SELECT SUM(MIKTAR) INTO @MIKTAR_TOPLAMI FROM GIRIS002
GROUP BY STOK_KODU;
END|
DELIMITER ;
SELECT SUM(MIKTAR) INTO @MIKTAR_TOPLAMI FROM GIRIS002
GROUP BY STOK_KODU;
bu tarz yapılarda geri dönüş kayıt setinde 1 kayıt olacağını garanti etmelisiniz gerekli önlemleri almalısınız , bu sorgu tüm stok kodlarının miktarlarının toplamını ayrı ayrı veren bir veri seti döndürür, dönüşte 1 den fazla kayıt yer alıyorsa hata oluşacaktır çünkü "INTO @değişken_adı" uygulaması sadece bir satır için yapılabilir.
DELIMITER |
CREATE DEFINER = 'root'@'localhost' PROCEDURE DENEME()
BEGIN
SELECT SUM(MIKTAR),STOK_KODU FROM GIRIS002
GROUP BY STOK_KODU;
END|
DELIMITER ;
bu şekilde bir SP çalıştırdığınızda doğrudan query sonucu döndürülecektir.
DELIMITER |
CREATE DEFINER = 'root'@'localhost' PROCEDURE DENEME
(
OUT `miktar_toplam` float,
IN KODU varchar(20)
)
BEGIN
SELECT GIRIS002.STOK_KODU, SUM(MIKTAR) FROM GIRIS002
GROUP BY STOK_KODU;
SELECT FOUND_ROWS() INTO KODU, MIKTAR_TOPLAM;
END|
DELIMITER ;
Sizce bu yöntem nasıl hocam !
Bu yöntem hakkında bilgi verirmisiniz lütfen ?