以下demo代码在mariaDB 5.5.58 + SQLyog 10.2下测试通过。
1.简单的将指定的参数插入数据库的存储过程
1)创建
DELIMITER $$
CREATE PROCEDURE insertItemProcedure(username VARCHAR(20), record VARCHAR(20),number INT) /*参数默认为 in */
BEGIN
DECLARE s VARCHAR(255) DEFAULT 'default';
SET s = CONCAT('insert into item values(null,\'',username,'\',\'',record,'\',',number,');');
SET @s = s;
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;
2)调用
CALL insertItemProcedure('卡卡罗特','超级赛亚人',100000);
结果:
注意点:
1、给字段输入值得时候,一定要注意引号的使用
2、注意@和prepare的使用,execute要执行的是依据@修饰的变量生成的预编译语句
2、参数默认为in