MySQL ‘de Stored Procedure Kullanımı Google'da Ara

Blog > MySQL ‘de Stored Procedure Kullanımı
25 Nisan 2010 – 23:20

Stored procedure’e MSSQL’de baya alışmıştım aynıu şeyi MySQL ile denemeye kalktığımda arada farklılıklar özellikle syntax farklılıkları beni araştırmaya sevk etti:p işe yarar diye açıklama gereği duydum..

Öncelikle oluşturma işleminden bahsediyim..
Aşağıdaki şablon genel olarak procedure oluşturma şablonudur

1
2
3
4
CREATE PROCEDURE procedureAdi (IN,OUT,INOUT degiskenismi tipi)/*ornek. (IN a INT)*/
BEGIN
/*burayada procedure iceriğimiz gelicek*/
END

Bu kısımda bilmek gereken yukarıda

IN: giren değişken
OUT: Çıkan değişken
INOUT: Giren ve Çıkan değişkenler

1
2
3
4
5
CREATE PROCEDURE p_tabloyaDegerEkle (IN gelenDeger INT)
BEGIN
insert into tablo(a)
values(a)
END

Burada yapılan işi anlatmak gerekirse tabloya değer ekleme işlemi yapılıyor.Bu fonksiyonu çağırmak için aşağıdaki kodu kullanmamız gerekiyor

1
CALL p_tabloyaDegerEkle(1)

Bu şekilde procedure ler oluşturup kullanabilir.Aşağıdaki örnektede listeleme yapılıyor.

1
2
3
4
CREATE PROCEDURE p_listele (IN gelenDeger INT)
BEGIN
select * from tablo where ID = gelenDeger
END

Eğer oluşturduğumuz tabloyu düzenlemek istersekte

1
2
3
4
5
6
7
8
9
DELIMITER $$
SET sql_mode='' $$
DROP PROCEDURE IF EXISTS `dbisim`.`proc` $$
CREATE PROCEDURE `dbisim`.`proc` (INOUT s INT)
BEGIN
SET sayi = (SELECT COUNT(*) FROM kullanicilar WHERE id=s);
END $$

DELIMITER ;

Yukarıdaki gibi kullanım yapabiliriz.Burda dikkat etmemiz gereken kısım(ki ben o hataya düştüm).Eğer editlerken hata alırsanız.Procedure’niz silinmiş olucak yani kodu çalışır hale getirip tekrar oluşturana kadar procedure gözükmeyebilir.Bunun nedeni ise DROP PROCEDURE IF EXISTS `dbisim`.`proc` $$ satırıdır.Eğer varsa siliyor fakat hata olduğundan tekrar ekleyemeyip tıkanıyor:)

Etiketler Etiketler: ”

Benzer Konular:

Yorum Yap

Isim : (gerekli)
E-mail : (gerekli)
Yorumunuz: