自己写的一个存储过程

 一,准备表

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后面的分号。

你可能感兴趣的:(数据库-存储过程)