存储过程
2018-05-17 本文已影响0人
我是邱邱
存储过程:带有逻辑的sql语句。之前的sql没有条件判断,循环。
存储过程带上流程控制语句(if,while)。
存储过程的特点:
1)执行效率非常快,存储过程是在数据库的服务器端执行的
2)移植性很差。不同数据库的存储过程是不能移植的。
存储过程语法:
DELIMITER $ ——声明存储过程的结束符
CREATE PROCEDURE pro_test() ——存储过程名称(参数列表)
BEGIN
-- 可以写多个语句
SELECT * FROM employee;
END $ ——结束符(与前面声明的结束符相对应)
CALL pro_test(); ——执行存储过程
参数列表:
1)IN 输入参数
2)OUT 输出参数
3)INOUT 输入输出参数
——全局变量(内置变量):mysql数据库内置的变量
可以在命令控制行中查看:1) 查看所有全局变量:show variables
2)查看某个全局变量:select @@变量名
修改全局变量:set 变量名=新的变量值
character_set_client ——指定mysql服务器接收数据时的编码
character_set_results ——指定mysql服务器输出数据的编码;
——会话变量
只存在于当前客户端与数据库服务器端的一次连接当中,连接一旦断开,变量将会消失。
定义会话变量:set @变量=值;
查看会话变量:select @变量;
——局部变量:在存储过程中使用的变量就叫局部变量,只要存储过程执行完毕,局部变量就会丢失。
局部变量:声明declare i default 1;
设置变量值:set 变量名=值;
删除存储过程:drop procedure 存储过程名称;
条件语句:
if then
elseif
end if;
while do
end while;