以MySQL数据库为例创建一个简单的存储过程,该存储过程的作用是将user表中id为10001的用户姓名更改为"test"。
存储过程的写法如下:
DROP PROCEDURE IF EXISTS updateUserName;
CREATE PROCEDURE updateUserName(IN modifyName VARCHAR(20))
BEGIN
UPDATE `user` SET `name` = modifyName WHERE id = 10001;
END;测试存储过程是否书写正确可以在MySQL Premium(其它的数据库管理工具类似)中新建查询调用该存储过程:
CALL updateUserName('test')执行结果如下:
在Java代码中可以这么调用数据库的存储过程:
SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery("{CALL updateUserName(?)}");
query.setString(0, "test");
query.executeUpdate();当然也有其它的执行方式,以上也是最为基础的使用。