DELIMITER $$
DROP PROCEDURE IF EXISTS ProcUpdateAccessType
$$
CREATE PROCEDURE ProcUpdateAccessType
(in aMemberId int, in aNodeCode varchar(20), in aAccessType tinyint, out ret tinyint)
BEGIN
declare varAccessType int default -1;
set ret = 0;
set @varNodeCode=if(trim(aNodeCode)= '',NULL,aNodeCode);
IF (@varNodeCode is null)THEN
update T_Member set access_type=aAccessType where member_id=aMemberId;
ELSE
select access_type into varAccessType from T_Member where member_id=aMemberId;
IF (varAccessType = 0) THEN
IF (varAccessType != aAccessType) THEN
IF EXISTS (select * from T_AccessType_Attr where member_id=aMemberId and node_code=aNodeCode) THEN
update T_AccessType_Attr set access_type=aAccessType where member_id=aMemberId and node_code=aNodeCode;
ELSE
insert into T_AccessType_Attr (member_id, node_code, access_type) values (aMemberId, aNodeCode, aAccessType);
END IF;
ELSE
delete from T_AccessType_Attr where member_id=aMemberId and node_code=aNodeCode;
END IF;
ELSE
set ret = -8;
END IF;
END IF;
END $$
DELIMITER ;
错误提示如下:求指导
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$$
DELIMITER' at line 24
经过测试,是因为set @varNodeCode=if(trim(aNodeCode)= '',NULL,aNodeCode);这一句后面的if()语句导致运行不下去,求大神解答
corresponds to your MySQL server version for the right syntax to use near '$$'
你最后那几行写错了
改成