您的位置:首页 > 数据库 > MySQL

mysql 储存过程

2013-03-08 20:56 281 查看
                                        存储过程

存储过程和函数是事先经过编译并储存在数据库中的一段sql语句的集合,

调用存储过程和函数可以简化应用开发人员的很多工作,减少数据,

减少数据在数据库和应用服务器之间的传输,对于提高数据的处理

的性能的效率有好处。

存储过程与函数的区别在于函数必须由返回值,而存储过程的参数

可以使用in out inout 类型,而函数的参数只能是in类型的

? create procedure;(查看详细的帮助)

delimiter // 定义执行符号

第一步:创建存储过程

delimiter // 定义执行符号

create procedure pro_dept(in deptno(参数) in,out empcount int)

reads sql data (读取查询语句)

begin

 select eid from emp where deptno = deptno;

  select found_rows() into 

end

//(执行)

调用

call prodept(1003,@a);

select @a;

例子:

统计人数:

create proceduce pro_emp(out empcount int)    #只做输出

begin

select count(*) into empcount from pro_emp;

end

//

delimiter ;

CALL pro_emp(@a);

select @a

                                       创建自定义函数

create function constr(str char(50)) returns char(50)

return concat('hi','s','!');

当创建不成功的时候可以查看用户的函数自定义功能是否打开

show variables like '%func%';

如果为off则打开

set global log_bin_trust_function_creators=1;

                                           创建变量

delimiter //

create procedure p()

contains sql

begin 

  declare name varchar(10) default 'jack';

  declare eid int default 121;

  set eid = 222;(变量)

  select username into name from user_tb where id = eid;

  select name;

  end //

delimiter;

call p;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: