2016-04-11 42 views
0
DELIMITER $$ 

CREATE PROCEDURE usp_SetGems (p_requestid int, p_akcija int) 

BEGIN 

if(p_akcija=0) 
then 

declare v_userId int; 
declare v_vingems decimal; 

SELECT r.user_id INTO v_userId FROM Requests r WHERE r.Id=p_requestid; 


end 
$$ 
delimiter; 

/* SQL Hatası (1064): SQL sözdiziminizde bir hata var; 'declare v_userId int'nin yakınında kullanmak için doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuzu kontrol edin; v_vingems ondalık beyanı; SEÇ ... Satır 8 */MySQL'de değişkenler nasıl kullanılır ve nasıl kullanılır?

sorunun nerede olduğunu bilmiyorum kısmındaki 'v_u INTO sağ BEGIN` `sonra size değişkenleri bildirmek için

+0

deneyin r.user_id. Ve ihtiyacınız var, 'END IF; ' –

+0

@PaulSpiegel Aynı şey – Dunster

cevap

0
First declare all the variables than use if condition like this: 
CREATE PROCEDURE usp_SetGems (p_requestid int, p_akcija int) 
BEGIN 
declare v_userId int; 
declare v_vingems decimal; 
if(p_akcija=0) then 
SELECT r.user_id INTO v_userId FROM Requests r WHERE r.Id=p_requestid; 
end 
$$ 
delimiter; 
+0

da oldu mu, yine de bir hata var/* SQL Hatası (1064): SQL sözdiziminde bir hata var; '' satır 4'te '' yakınında kullanmak için doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuzu kontrol edin – Dunster

İlgili konular