一,准备表
DROP TABLE IF EXISTS `user;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
二,存储过程
表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值.
DROP PROCEDURE IF EXISTS user_findById;
-- 创建存储过程
delimiter //
CREATE PROCEDURE user_findById(
in n int
)
BEGIN
SELECT * FROM user where id=n;
END;
//
delimiter;
-- 定义变量
SET @n=2;
-- 调用存储过程
CALL user_findById(@n);
注:前面的delimiter //,和后面的//delimiter;是界定符。另外,要注意一些细节问题。如:id=n后面的分号,END后面的分号。