利用存储过程方便日常查询

            利用存储过程方便日常查询

一.创建存储过程

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-08-01 22:46:17

利用存储过程方便日常查询的相关文章

利用存储过程进行组合查询

/*********************************************************************/ /* proc name : P_am_postjob_search */ /* */ /* Description: 申请单查询 */ /* */ /* parameters: @searchtime 申请时间 */ /* @search_poststatus 发布状态 */ /* @search_applystatus 招聘状态 */ /* @job

asp.net利用存储过程分页代码

-最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount bit = 0, -- 返回记录总数, 非 0 值则

mysql 存储过程:提供查询语句并返回查询执行影响的行数

mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREATE PROCEDURE `test_cases`.`p_get_select_row_number`(IN p_select_sql VARCHAR(200), OUT p_count INT(8) ) BEGIN -- 声明 DECLARE cnt INT DEFAULT 0; DECLARE s

利用cookie存放模糊查询的信息

将前台传入后台的查询条件,存放到cookie中,并加入响应对象中,将该查询条件存放入浏览器端.(会话cookie,存放在浏览器的内存中,浏览器关闭,cookie消失.[不设置路径,和生命周期]) 注意点:(1)在往cookie信息中存放中文的时候,需要考虑编码问题! (2)从cookie对象中取出信息,也要注意编码,存放时进行特殊编码,那么取值时,也要进行特殊解码 /**     * 将查询条件存放入cookie中     */    @Override    public void saveS

php利用新浪接口查询ip获取地理位置示例

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <?php function getIPLoc_sina($queryIP){   $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;   $ch = curl_init($url);    curl_setopt($ch,CURLOPT_ENCODING ,'utf8');

Android 利用ExpandableListView显示和查询仿QQ分组列表用户信息

在我们的项目开发过程中,经常会对用户的信息进行分组,即通过组来显示用户的信息,同时通过一定的查询条件来显示查询后的相关用户信息,并且通过颜色选择器来设置列表信息的背景颜色. 其中借鉴xiaanming:http://blog.csdn.net/xiaanming/article/details/12684155 下面来看看项目运行后的效果图以及代码结构图: 下面通过代码来实现整个效果. 1.主界面布局activity_main.xml <span style="font-size:18px

利用存储过程来重命名SQL Server数据库

最近遇到一个需要在多用户模式下重新命名数据库的Case, 因为数据库可能被其他用户使用,所以直接修改可能会失败.对于此种情况,我们可以等所有用户结束使用数据库时修改,或者是将数据库切换到单用户模式下进行操作. 有时候,我们在开发过程中需要直接把生产环境的数据库拿到开发环境来测试开发.我们可以直接重命名生产环境上的数据库.这样以来,即使你有些SQL没有保存,也可以直接从原来的数据库中抓取. 有两个重要的细节我们必须注意 当重名名数据库时, filegroup的名字和数据文件名(.mdf,.ldf)

利用SQL索引提高查询速度

1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构. 索引的使用要恰到好处,其使用原则如下: 在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引. 在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引. 在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引.比如在雇员表的“性别”列上只有“男”与“女”两个不同值

利用存储过程优化复杂的数据库操作

参考其他文章列举存储过程的优劣,据此分析目前智慧电站总项目下,还有那些地方的数据库操作,适合使用存储过程进行优化. 存储过程是什么? 储存程序 (Stored Procedure),又可称预储程序或者存储过程,是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象,它可以视为数据库中的一种函数或子程序.--维基百科 可以理解为数据库中的函数过程. 存储过程的优势 就我在项目中实际使用来说,当前台处理涉及多条数据库查询语句操作,并出现临时表需整合多个表筛选多余信息的情况下使用到了存储过程.