PHP ile Stored Procedure(Saklı Yordam) Kullanımı
Stored Procedure nedir? Daha önce SQL Server, ORACLE,Sybase gibi veritabanlarından birini kullanmışsanız mutlaka stored procedure(SP) Türkçe adıyla Saklı Yordam kullanmışsınız.Stored Procedure'ler veritabanı içerisinde tanımlanan özel fonksiyonlardır ve çok hızlı çalışırlar. Veritabanını içine gömülen kodlar olduğu için peroformansları da haliyle farklıdır. Topkı programlama dillerindeki metodlar-fonksiyonlar gibi parametre alıp, sonuç döndürebilirler.
Stored Procedure desteği varsa kullandığınız gerçek bir veritabanıdır, stored procedure, trigger desteği yoksa o tam bir veritabanı sayılmaz. Örneğin Access, Paradox, Dbase gibi veritabanlarında Stored Procedure desteği yoktur. ORACLE, SQL Server, PostgreSQL, MySQL, Sybase gibi veritabanlarında SP desteği vardır.
Şimdi nasıl yazacağımıza değinelim. MySQL web sitesinden MySQL Workbench aracını indirelim. PhpMyAdmin'in yeni sürümlerinde SP yazabilirsiniz, ama eski sürümlerinden SP yazamazsınız. Biraz daha profesyonel bir araç olduğu için MySQL Workbench kullanacağız. Workbench'de veritabanlarına SCHEMA(şema) adı verilir. Aşağıda görüldüğü gibi bir PERSONELDB isimli veritrabanı oluşturup, içinde bir TBLPERSONEL isimli bir tablo tanımlandı.
.png)
Aslında tblpersonel tablosonu daha önce PhpMyAdmin'de oluşturduğum için burada nasıl oluştulacağını anlatmadım. Sol taraftaraki personeldb altındaki Tables üzerine sağ tıklayıp Create Table komutunu vererek oluşturabilirsiniz.

Şimdi biz sadece Maaş Ortalamasını bulan basit bir Stored Procedure(SP) yazacağız. SP yazmadan önce yazacağımız SQL kodunu bir test edelim. SQL sorgusunu yazdıktan sonra aşağıdaki gibi şimşek simgesine tıklayarak sonucu görebilirsiniz.
Aşağıda MaaşOrtalamasını bulan stored Procedure'ü yazdık. Sol taraftaki Stored Procedures üzerine sağ tıklayıp, New Stored Procedure seçeneğini seçelim. Ardından aşağıdaki kod satırlarını yazalım.

Şimdi maasortalama.php isimli bir dosya açıp, aşağıdaki kodları yazalım.
Ekranda aşağıdaki gibi maaş ortalaması görülecektir.
2700.00
Türkçe pek kaynak bulunmayan bir konuyu incelemiş olduk. Stored Procedure örneklerini MySQL sitesinde daha detaylı şekilde bulabilirsiniz.
Mutlu kodlamalar,
Oğuzhan TAŞ
Nisan, 2016
Stored Procedure desteği varsa kullandığınız gerçek bir veritabanıdır, stored procedure, trigger desteği yoksa o tam bir veritabanı sayılmaz. Örneğin Access, Paradox, Dbase gibi veritabanlarında Stored Procedure desteği yoktur. ORACLE, SQL Server, PostgreSQL, MySQL, Sybase gibi veritabanlarında SP desteği vardır.
Şimdi nasıl yazacağımıza değinelim. MySQL web sitesinden MySQL Workbench aracını indirelim. PhpMyAdmin'in yeni sürümlerinde SP yazabilirsiniz, ama eski sürümlerinden SP yazamazsınız. Biraz daha profesyonel bir araç olduğu için MySQL Workbench kullanacağız. Workbench'de veritabanlarına SCHEMA(şema) adı verilir. Aşağıda görüldüğü gibi bir PERSONELDB isimli veritrabanı oluşturup, içinde bir TBLPERSONEL isimli bir tablo tanımlandı.
.png)
Aslında tblpersonel tablosonu daha önce PhpMyAdmin'de oluşturduğum için burada nasıl oluştulacağını anlatmadım. Sol taraftaraki personeldb altındaki Tables üzerine sağ tıklayıp Create Table komutunu vererek oluşturabilirsiniz.

Şimdi biz sadece Maaş Ortalamasını bulan basit bir Stored Procedure(SP) yazacağız. SP yazmadan önce yazacağımız SQL kodunu bir test edelim. SQL sorgusunu yazdıktan sonra aşağıdaki gibi şimşek simgesine tıklayarak sonucu görebilirsiniz.

Aşağıda MaaşOrtalamasını bulan stored Procedure'ü yazdık. Sol taraftaki Stored Procedures üzerine sağ tıklayıp, New Stored Procedure seçeneğini seçelim. Ardından aşağıdaki kod satırlarını yazalım.
CREATE DEFINER=`root`@`localhost` PROCEDURE `ortalama_maas`(out ortalama_maas decimal)
BEGIN
SELECT avg(MAAS) AS ortalama_maas from tblpersonel;
END

Şimdi maasortalama.php isimli bir dosya açıp, aşağıdaki kodları yazalım.
<html>
<head> <meta charset="utf-8"> </head>
<body>
<?php
$baglan=mysqli_connect("localhost","root","","personeldb");
mysqli_set_charset($baglan, "utf8");
$sonuc=mysqli_query($baglan,'CALL ortalama_maas(@sonuc_maas)');
$satir=mysqli_fetch_array($sonuc);
echo $satir[0];
?>
</body>
</html>
Ekranda aşağıdaki gibi maaş ortalaması görülecektir.
2700.00
Türkçe pek kaynak bulunmayan bir konuyu incelemiş olduk. Stored Procedure örneklerini MySQL sitesinde daha detaylı şekilde bulabilirsiniz.
Mutlu kodlamalar,
Oğuzhan TAŞ
Nisan, 2016

Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: Excel hücrelerinde yıldız koyarak b...
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?