</pre><p></p><p>命令行运行mysql</p>打开mysql登录成功后<p><span style="font-family:Microsoft YaHei;font-size:12px;">use database 选择一个数据库。</span></p><p><span style="font-family:Microsoft YaHei;font-size:12px;">一个简单的存储过程实例,输入一个整数,输出该整数的平方。</span></p><p><span style="font-family:Microsoft YaHei;font-size:12px;"></span></p><pre name="code" class="cpp">delimiter //
create procedure demo(IN p_in int,OUT p_out int)
begin
select p_in;
set p_out = p_in*p_in;
select p_out;
end
//
delimiter
delimiter 是分隔符的意思。delimiter // 表示语句在检查到输入“//”的时候结束。在不做任何设置时,默认 delimiter ;遇到分号时结束。所以有时候我们也可以看到delimiter $$ 只是定义的字符不一样罢了。如果没有申明
delimiter //
create procedure demo(....)
IN 输入参数:该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回
OUT 输出参数:该值可以在存储过程中改变,可以返回
INOUT 输入输出参数:可被改变和返回
存储过程写好后,可以运行试试了
set @a = 2;
set @b = 0;
call demo(@q,@b);
select @b;
delimiter ;
@定义变量
运行结果