1.建立PROCEDURE php
CREATE PROCEDURE 存储过程名 (参数列表) mysql
BEGIN sql
SQL语句代码块 测试
END .net
2.写一个最简单的存储过程查询cs.zzm全部数据 get
create procedure zoucm() 变量
begin select
select * from cs.zzm; call
end 数据
调用
mysql>call zoucm();
show PROCEDURE status 查看PROCEDURE
show create procedure zoucm 查看PROCEDURE 建立代码
drop PROCEDURE zoucm 删除PROCEDURE
select @NR; 查看输出的变量
3。建立一个有out输出的procedure 输出行数
create procedure zoucm(out hs int)
BEGIN
select count(*) into hs from BK.Customer;
end
call zoucm(@ss) 调用:把hs 赋值个@ss 变量
select @ss 打印查看@ss 变量
4.建立一个有out输出和in输入的procedure
create procedure zoucm(out hs int, in s VARCHAR(20))
BEGIN
select count(*) into hs from BK.Customer where Customer.Province = s;
end
call zoucm(@ss , '台湾省'); 调用:把hs 赋值个@ss 变量,把Customer.Province = '台湾省'
select @ss ; 打印查看@ss 变量
5.DECLARE 申明procedure局部变量
DECLARE var_name[,...] type [DEFAULT value] 例如: DECLARE state int 申明一个state名称的变量
这个语句被用来声明局部变量。
要给变量提供一个默认值,请包含一个DEFAULT子句。
值能够被指定为一个表达式,不须要为一个常数。
若是没有DEFAULT子句,初始值为NULL。
局部变量的做用范围在它被声明的BEGIN ... END块内。
它能够被用在嵌套的块中,除了那些用相同名字声明变量的块。
6。综合实验.
需求:
有表users 里面存放用户信息,有user,pwd其中两个字段。建立procedure用于验证HPH传递过来的user,pwd是否正确。正确out出0,错误out出1.
注意里面涉及到DECLARE 申明procedure局部变量的应用
create procedure login(
in php_user VARCHAR(20),
in php_pwd VARCHAR(20),
out php_state int
)
BEGIN
DECLARE state int;
select count(*) into state from BK.users where `user` = php_user and PWD = php_pwd;
IF(state <> 0) THEN
select 0 into php_state;
ELSE
select 1 into php_state;
END if;
end
测试调用:
mysql>call login('zoucm', '123456', @state);
mysql>select @state ; 查看是否能够经过验证