MySQL 저장 프로 시저 구문 오류

Dunster

내 저장 프로 시저에 대해 아래 코드를 실행하려고하는데 14 번 줄에 오류가 발생합니다. 오류가 무엇인지 찾을 수 없습니다. 해결하는 데 도움이됩니다.

DELIMITER $$
   CREATE PROCEDURE usp_SetGems (
    -- Add the parameters for the stored procedure here
    p_requestid int/* =null */,
    p_akcija int/* =null */)
 BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.

    -- Insert statements for procedure here
    if p_akcija = 0 then

    declare @v_userId char(36);
    declare @v_vingems int;

    select @v_userId:=r.user_id, @v_vingems := r.value from Requests r
    where r.Id=p_requestid; 

    update Users 
    set balance=balance+@v_vingems
    where id=v_userId;

    else

    declare @v_userrId longtext;
    declare @v_vingemss int;

    select @v_userrId.user_id:=r.user_id, @v_vingemss := r.value from Requests r
    where r.Id=p_requestid;

    update Users 
    set balance=balance-@v_vingems
    where id=v_userrId;
    end if;
 end;  $$    
 DELIMITER ;
라 케시 쿠마르

Declare 문이 잘못되었습니다 (declare @v_userId char (36), declare @v_vingems int; .....). 다음은 귀하의 절차에 대한 올바른 코드입니다.

DELIMITER $$
   CREATE PROCEDURE usp_SetGems (
    -- Add the parameters for the stored procedure here
    p_requestid int/* =null */,
    p_akcija int/* =null */)
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.

    -- Insert statements for procedure here
    if p_akcija = 0 then
        BEGIN 
            select r.user_id, r.value INTO @v_userId, @v_vingems from Requests r
            where r.Id=p_requestid; 
            update Users 
            set balance=balance+@v_vingems
            where id=v_userId;
        END;
    else
        BEGIN 
            select r.user_id, r.value INTO @v_userId, @v_vingems from Requests r
            where r.Id=p_requestid; 

            update Users 
            set balance=balance-@v_vingems
            where id=v_userrId;
        END;
    end if;
 end $$ 
 DELIMITER ;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사