0
点赞
收藏
分享

微信扫一扫

迈向AI时代:掌握Python编程与ChatGPT的强强联手

Python百事通 2024-03-06 阅读 11
mysql

概念

示例1

1、MySQL创建存储过程。

DELIMITER $$
CREATE PROCEDURE GetCustomerDetails(IN haha INT)
BEGIN
    SELECT * FROM customer WHERE id = haha;
END $$
DELIMITER ;

2、MySQL调用存储过程。

call GetCustomerDetails(16);

3、Java调用存储过程。

<mapper namespace="com.example.MyMapper">
    <select id="getCustomerDetails" statementType="CALLABLE">
        {call GetCustomerDetails(#{customerId, mode=IN, jdbcType=INTEGER})}
    </select>

    <update id="updateCustomerDetails" statementType="CALLABLE">
        {call UpdateCustomerDetails(
            #{customerId, mode=IN, jdbcType=INTEGER},
            #{firstName, mode=IN, jdbcType=VARCHAR},
            #{lastName, mode=IN, jdbcType=VARCHAR}
        )}
    </update>
</mapper>

示例2

用存储过程来实现往一个表里持续插入数据的操作。

-- 创建存储过程
DELIMITER $$ #重新定义结束符
CREATE PROCEDURE person_procedure ( IN minNum INT, IN maxNum INT ) 
BEGIN
	DECLARE i INT DEFAULT minNum; #设置i初始值为minNum
	WHILE i <= maxNum DO
		INSERT INTO person (id,`name`,age,address) VALUES (i,concat( 'cve-', i, '' ),i,concat( '地址-', i, '' ));
		SET i = i + 1;
	END WHILE;
	SELECT CONCAT(i, ' rows inserted.') AS Result; #打印一个输出
END $$
DELIMITER; #重新定义结束符
-- MySQL调用存储过程
call person_procedure(1,10);
举报

相关推荐

0 条评论