MySQL 存储过程是一组预先编译并存储在数据库中的 SQL 语句。通过调用存储过程,可以执行多条 SQL 语句,从而简化应用程序的开发和维护。
MySQL 存储过程主要分为两类:
存储过程常用于以下场景:
以下是一个简单的 MySQL 存储过程示例,用于插入多条记录:
DELIMITER //
CREATE PROCEDURE InsertMultipleRecords(IN tableName VARCHAR(255), IN data JSON)
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE record JSON;
DECLARE columns VARCHAR(255);
DECLARE values VARCHAR(255);
SET columns = JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].columns'));
SET values = JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].values'));
WHILE i < JSON_LENGTH(data) DO
SET record = JSON_EXTRACT(data, CONCAT('$[', i, ']'));
SET @sql = CONCAT('INSERT INTO ', tableName, ' (', columns, ') VALUES (', values, ')');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET i = i + 1;
END WHILE;
END //
DELIMITER ;
原因:
解决方法:
原因:
解决方法:
希望以上信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云