Bir önceki yazımda MySQL Stored Procedure nedir ondan bahsetmiştik.
Şimdi MySQL Stored Procedure de parametrelerden bahsedeceğiz.
MySQL Stored Prodecure üzerinde 3 adet farklı parametre kullanabiliyoruz bunlar;
IN | OUT | INOUT
IN : Stored Procedure içerisine bir değişken ile veri almak için kullanılır.
OUT : Stored Procedure içerisinden değişken ile dışarıya veri almak için kullanılır.
INOUT : Stored procedure içerisine değişken aracılığı ile veri yollamaya ve dışarı veri almak için kullanılır.
Örnekler :
-IN Parametresi Kullanımı :
1 2 3 4 5 6 7 8 9 10 11 12 |
DELIMITER $ CREATE PROCEDURE StokTablosuGetir( IN _StokKodu VARCHAR(255) ) BEGIN SELECT * FROM stoklar WHERE stokkod = _StokKodu; END$ DELIMITER; |
1 2 3 |
CALL StokTablosuGetir('123'); Tablomuz üzerinde stokkodu 123 olan veriyi getirecektir. |
-OUT Parametresi Kullanımı :
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE PROCEDURE ToplamStokGetir ( IN _StokKodu VARCHAR(255), OUT toplam INT ) BEGIN SELECT SUM(stoksayisi) INTO toplam FROM stoklar WHERE stokkod = _StokKodu; END$ DELIMITER ; |
1 2 3 4 |
CALL ToplamStokGetir('123',@toplam); SELECT @toplam; Çıktısı : 123 Stokkoduna sahip ürünün toplam sayısını getirecektir. |
-INOUT Parametresi Kullanımı :
1 2 3 4 5 6 7 8 9 10 11 |
DELIMITER $ CREATE PROCEDURE Toplama( INOUT _Sayi INT, IN _EklenecekSayi INT ) BEGIN SET _Sayi = _Sayi + _EklenecekSayi; END$ DELIMITER ; |
1 2 3 4 5 |
SET @Sayi = 1; CALL Toplama(@Sayi,2); - 3 CALL Toplama(@Sayi,2); - 5 CALL Toplama(@Sayi,6); - 11 SELECT @Sayi; -- 11 |