赞
踩
什么是存储过程?为什么要用存储过程?
存储过程是具有名字的一段代码,完成一个特定的功能。存储过程保存在数据字典中
1.执行时简单(名字+参数)
2.存储过程中可以有一个、多个SQL语句
使用场景:(Mysql存储过程相对功能较弱)
1.将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用
2.批量处理 sql+循环
3.统一接口
语法:
- delimiter $$-------定义结束标志,delimiter是分隔符的意思
-
- CREATE
-
- [DEFINER = { user | CURRENT_USER }]
-
- PROCEDURE sp_name ([proc_parameter[,...]])
-
- [characteristic ...] routine_body------------------------(过程体)
-
-
-
- proc_parameter:
-
- [ IN | OUT | INOUT ] param_name type
-
- end $$
-
- delimiter ;--------最后将结束标志改为分号
-
-
-
-
-
- characteristic:
-
- COMMENT 'string'
-
- | LANGUAGE SQL
-
- | [NOT] DETERMINISTIC
-
- | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
-
- | SQL SECURITY { DEFINER | INVOKER }
存储过程参数(in、out、inout)
1.需要输入------in参数
值 --100、赋值的变量 --set @xv=100; @xv
- mysql> DELIMITER $$
-
- mysql> CREATE PROCEDURE cou1(IN NAME VARCHAR(2))
-
- -> BEGIN
-
- -> SELECT dept_no FROM departments WHERE dept_name=NAME;
-
- -> END $$
-
- Query OK, 0 rows affected (0.00 sec)
-
-
-
- mysql> DELIMITER ;
mysql> call cou1('b')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。