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;
存储过程和函数是事先经过编译并储存在数据库中的一段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;
相关文章推荐
- Mysql储存过程8:repeat循环
- MYSQL分页储存过程(取得数据集合和查询AllRows)
- mysql--窗口-函数-储存过程-视图-事件-触发器的串
- mysql储存过程以及定时调度清除数据
- mysql 储存过程/函数调试
- MySQL 储存过程-原理、语法、函数详细说明
- MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)
- mysql的储存过程
- Spring mvc调用mysql储存过程
- MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)
- mysql储存过程
- mysql 储存过程游标的使用
- mysql储存过程多游标
- MYSQL储存过程 小实例
- 创建MYSQL的储存过程
- mysql储存过程
- mysql 储存过程的一些问题
- MySQL 储存过程-原理
- MYSQL 函数分类 以及储存过程使用经验
- MySQL---储存过程