【实施工程师】必备技能——mysql存储过程procedure[prəˈsiːdʒər]
存储过程在创建时与创建函数相同,首先都需要临时修改语句结束符号。然后再利用CREATE语句进行创建,其基本语法格式如下:
DELIMITER 新结束符号
CREATE PROCEDURE 过程名字([[ IN | OUT | INOUT] 参数名称参数类型])
BEGIN
过程体
END
在上述语法中,创建存储过程的关键字为PROCEDURE,在为存储过程设置参数时,在参数名前还可以指定参数的来源及用途,可选值分别为IN(默认值)、OUT和IN OUT。
IN、OUT、INOUT三者的区别如下所示:
IN:表示输入参数,即参数是在调用存储过程时传入到存储过程里面使用,传入的数据可以是直接数据(如5),也可以是保存数据的变量。
OUT:表示输出参数,初始值为NULL,它是将存储过程中的值保存到OUT指定的参数中,返回给调用者。
IN OUT:表示输入输出参数,即参数在调用时传入到存储过程,同时在存储过程中操作之后,又可将数据返回为调用者。
实例
测试数据:
编写存储过程:
delimiter $$ create procedure u_info(in InUserName varchar(50)) begin select * from users where userName=InUserName; end $$ delimiter ; call u_info('admin');
执行效果: (call 存储过程名称)
存储过程可以放大处理,编写内容多一些,例如利用循环添加个几十万条数据都可以。或者比较复杂的查询操作,都很方便的。