Mysql存储过程
此文仅作简单的说明 ? 一、简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。MySQL在5.0以前并不支持存储过程 ? 二、创建存储过程 (一)修改结束符: 因为sql语句以分号";"结束,为了创建存储过程首先要修改一个结束符: ? delimiter // select * from tablename // ? 上边代码将结束符换成了"//" (二)创建存储过程: 现在可以创建一个存储过程了: create procedure finduser (out username varchar(255)) reads sql data begin select name into username from userinfo where id=1; end // procedure是程序步骤的意思,可以理解为存储过程.其中finduser就是这个存储过程的名字
reads sql data 表明这个存储过程下面要用sql读取数据。 call finduser(@n)// select @n// 第一句敲回车执行后,会提示执行成功。第二步执行后或获取到结果。 (四)查询存储过程 select name from mysql.proc where db=’数据库名’; ? select routine_name from information_schema.routines where routine_schema='数据库名'; ? show procedure status where db='数据库名'; 2、查询存储过程详细: ? show create procedure? 数据库.存储过程名; ? (五)修改存储过程 ALTER PROCEDURE 更改用CREATE PROCEDURE 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。 (六)删除存储过程 ? 删除一个存储过程比较简单,和删除表一样: ? DROP PROCEDURE ? 从MySQL的表格中删除一个或多个存储过程。 ? ? ? ? ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |