> ### ***存储过程就是一组为了完成特定功能的SQL语句集,简单地说就是一堆SQL组成的语句!***
在存储过程中可以写一些逻辑结构,就像PHP一样可以定义变量,逻辑运算!
```
#语法
delimiter ;;
create definer=`root`@`localhost` procedure `proc_adder`(in a int, in b int, out sum int)
begin
#这里写逻辑
declare c int;
if a is null then set a = 0;
end if;
if b is null then set b = 0;
end if;
set sum = a + b;
end
;;
delimiter ;
```
PHP简单调用存储过程
```
$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end;
";
mysql_query($sql);//创建一个myproce的存储过程
$sql = "call test.myproce();";
mysql_query($sql);//调用myproce的存储过程,则数据库中将增加一条新记录。
```