DELIMITER $$
CREATE PROCEDURE `InsertInfo`(
IN AId VARCHAR(20),
IN Number VARCHAR(30),
IN Address VARCHAR(30)
)
BEGIN
DECLARE @BId VARCHAR(100);
SET @BId = AId + '_' + Number + '_' + Address;
END$$
DELIMITER ;
获取错误:
错误代码:1064 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册 要在'@BId VARCHAR(100);
附近使用的语法SET @BId = AId + '_' + Number + '_' + Address;
END' at line 7
(0 ms taken)
答案 0 :(得分:0)
您必须删除@
。
DECLARE BId VARCHAR(100);
SET BId = AId + '_' + Number + '_' + Address;
答案 1 :(得分:0)
正如@AVD所说,您需要删除@
和
我想你想在程序中使用CONCAT字符串吗?
这是正确的方法。
DROP PROCEDURE IF EXISTS `InsertInfo`;
DELIMITER $$
CREATE PROCEDURE `InsertInfo`(
IN AId VARCHAR(20),
IN Number VARCHAR(30),
IN Address VARCHAR(30)
)
BEGIN
DECLARE BId VARCHAR(100);
SET BId = CONCAT(AId,'_',Number,'_',Address);
SELECT BId;
END$$
DELIMITER ;
致电InsertInfo
CALL InsertInfo('a','b','c');
返回
a_b_c