Bende bir stored procedure örneği paylaşıyorum arkadaşlar.
BEGIN
/*
1 : İŞLEM TAMAM
2 : OY VERMİŞ.
*/
# AYNI KİŞİ, AYNI RESİME GÜNDE EN FAZLA 1 OY VEREBİLİR. Kayıtları sayalım bakalım oy vermiş mi?
SELECT COUNT(id) INTO @count FROM vote WHERE facebook_id = in_facebook_id AND photo_id = in_photo_id AND DATE_FORMAT((date), '%W %M %Y') = DATE_FORMAT(NOW(), '%W %M %Y');
# EĞER OY KULLANMIŞSA HATA VERELİM. OY KULLANMAMIŞSA GEREKLİ İŞLEMLERİ YAPALIM.
IF(@count >= 1)
THEN
SELECT '2';
ELSE
# LOG TABLOSUNA KAYDEDELİM.
INSERT INTO vote(facebook_id, photo_id, ip, date) VALUES(in_facebook_id, in_photo_id, in_ip, NOW());
# FOTOĞRAF TABLOSUNDA OY KOLONUNU 1 ARTTIRALIM.
UPDATE photos SET vote = (vote + 1) WHERE id = in_photo_id;
SELECT '1';
END IF;
END
Procedure Parametreleri :
IN in_facebook_id VARCHAR(30), IN in_photo_id INT(11), IN in_ip VARCHAR(15)