2016-04-11 13 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エラー(1064):SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が近くで使用できるようにしてください。 'declare v_userId int; declare v_vingems decimal; SELECTは、問題がどこにあるか知ってはいけないライン8 */MySQLでの変数の使い方と使用方法

で「v_u INTO r.user_id ...

+0

は右BEGIN' '後にあなたの変数を宣言するようにしてください。 –

+0

@PaulSpiegel同じことが起こったのですか? – Dunster

答えて

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

まだエラーがあります。/ * SQLエラー(1064):SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックしてください。正しい構文は、 '' at line 4 * / – Dunster

関連する問題