Menü

Mysql Stored Procedure

28 Ocak 2015 - Java

Mysql veritabanı yönetim sistemi ortamında bir kaç basit stored procedure yapacağım. Stored Procedure nedir diye uzun uzun bahsetmeye gerek yok arayıp bu yazıyo ulaşan herkes ne olduğunu ve ne iş yapacağını bilir diye düşünüyorum. Bilmese bile Google’da basit bir araştırma ile öğrenebilir.  En basit haliyle bir Stored Procedure (SP)

CREATE DEFINER=`root`@`localhost` PROCEDURE `procedure_Adi`()
BEGIN
        Select * from hasta;
END

Bir integer parametre alan SP

CREATE DEFINER=`root`@`localhost` PROCEDURE `procedure_Adi`(id int)
BEGIN
        Select * from hasta where hasta_id=id;
END

Bir integer ve tablo ismini varchar olarak parametre alan SP

CREATE DEFINER=`root`@`localhost` PROCEDURE `veri_getir`(id int, tabloadi varchar(45))
BEGIN
        SET @sql = CONCAT(‘SELECT * FROM ‘,tabloadi,’ WHERE id=?;’);
        PREPARE s1 from @sql;
        SET @paramA = id;
        EXECUTE s1 USING @paramA;
END

Concat fonksiyonu değerleri birleştirip tek değer olarak döndürür. SQL sorgusunu tek parça string olarak değerlendirilmesini sağlar. Tablo ismini select içinde ilk iki kullanımdaki gibi parametre olarak vermeniz mümkün değildir. (En azından ben bir yolunu bulamadım.) Bu sebepten dolayı yukarıdaki gibi bir kaç satır kod kullandık.

Bir Cevap Yazın