내 저장 프로 시저에 대해 아래 코드를 실행하려고하는데 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] 삭제
몇 마디 만하겠습니다