利用存储过程方便日常查询
一.创建存储过程
1.存储过程创建语法:
CREATE PROCEDURE sp_name ([ proc_parameter ]) [ characteristics..] routine_body
2.参数详解:
sp_name:存储过程名字
proc_parameter:像存储过程传递参数( [IN|OUT|INOUT] param_name type ),其中in表示输入参数,out表示输出参数,inout表示既可以输入也可以输出;param_name表示参数名称;type表示参数的类型
routine_body :routine_body是SQL代码的内容,可以用BEGIN...END来表示SQL代码的开始和结束。
DELIMITER:重新设置mysql的结束符 DELIMITER //(将结束符表示为//) 存储过程 DELIMITER;(恢复默认结束符)
characteristics:对下面body申明部分和权限限制的定义
二.存储过程的日常操作
1.调用存储过程
(1).call sp_name()
(2).直接点击名称运行即可
2.查询procedure的status信息:show procedure status\G
3.查看创建的存储过程:show create procedure sp_name\G
4.删除存储过程 :drop procedure sp_name
三.存储过程实例
1.不带参数的存储过程查询区服信息
DROP PROCEDURE IF EXISTS sel; DELIMITER // CREATE PROCEDURE sel() BEGIN SELECT * from gameserverinfo where isdelete!=1 ORDER BY zone; END // DELIMITER; call sel()
运行结果:
2.根据平台和区服查询服务器ip:
DROP PROCEDURE IF EXISTS CHECKIP; DELIMITER // CREATE PROCEDURE CHECKIP(agent1 VARCHAR(30),zone1 INT) BEGIN SELECT ip from gameserverinfo where agent=agent1 and zone=zone1; END // DELIMITER;
运行结果:
时间: 2024-12-20 01:16:58