一,準備表
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後面的分號。