mysql存储过程和函数的操作

MySQL在5.0版本开始有存储过程功能;

存储过程和函数是事先经过编译并存储在数据库中的一条SQL语句集合;

存储过程和函数的区别:函数必须有返回值,存储过程则没有;

1、1 创建存储过程语法形式

delimiter $$

create procedure procedure_name ([procedure_paramter,]) [characteristic...]

routine_body

$$

delimter ;

注:procedure_paramter为参数,可有可无,形式为: in/out/inout paramter_name type

routine_body为sql语句,以begin...end标识sql语句开始和结束

暂时以$$为语句结束分隔符

1、2创建函数语法形式

create function function_name ([function_paramter,]) [characteristic...]

routine_body

注:function_paramter的语法形式:paramter_name type

使用存储过程的好处:简单、安全、高性能;缺点:可能没有创建存储过程的安全访问权限;

1、执行存储过程

存储过程的执行称为调用,语句为:call,格式为:call procedure_name (procedure_paramter,..);

不带参数: call procedure_name(); 执行创建的存储过程并显示返回结果

不带参数的存储过程执行时,直接显示select语句结果

带参数:

创建带传出参数的存储过程:create procedure proc_name(out proc_parameter1 int,out proc_parameter2 int)

执行存储过程:call proc_name (@proc_parameter1,@proc_parameter2); 传出变量必须以@开头

执行这条语句不显示任何数据,它返回指定的变量,运行结果为1 rows affected

select @proc_parameter1,@proc_parameter2;执行这条语句则显示返回结果

call...和select...语句配套使用

所以,执行存储过程时,既可以显示结果,也可以不显示。

存储过程体select语句的结果保存到相应的变量,用into 关键字。

例:delimiter $$

create procedure proc_name(in emnpo int,out sum_sal int)

begin

select sum(sal) from table where table.emnpo=emnpo into sum_sal;

end $$

delimiter;

call proc_name(3,@sum_sal);

select @sum_sal;

2、创建存储过程:同1.1

3、删除存储过程:

语句格式:drop procedure procedure_name;

只给出存储过程名,不需要加()

4、检查存储过程:

show procedure status;

此语句查询包括详细信息的全部存储过程列表

时间: 2024-08-05 03:28:27

mysql存储过程和函数的操作的相关文章

MYSQL存储过程和函数学习笔记

学至Tarena金牌讲师何山,金色晨曦科技公司技术总监沙利穆课程笔记的综合. 1. 什么是存储过程和函数 将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和函数,可以避免开发人员重复编写相同的SQL语句. MYSQL存储过程和函数是保存在服务器中,在服务器中存储和执行,可以减少客户端和服务器端之间数据传输的消耗. 存储过程就是一组已经保存在数据库中的语句,并且可以随时地调用. 存储过程允许标准组件式编程,存储过程在被创建以后可以在程序中被多次调用而

MySql存储过程、函数

存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存储过程和函数是在MySQL服务器中存储和执行的,可以减少客户端和服务器端的数据传输.一.存储过程1.1.基本语法 CREATE PROCEDURE sp_name ([proc_parameter[,...]])     [characteristic ...] routine_body Sp_name:存储过程的名称,

7 MySQL存储过程和函数

目录: 1. 存储过程和函数概述2. 准备工作3. 存储过程操作4. 创建带参存储过程5. 查看存储过程 1. 存储过程和函数概述 MySQL的存储过程(stored procedure)和函数(stored function)统称为stored routines. 存储过程和函数都是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输. 存储过程和函数的区别在于函数必须有返回值,而存储过程没有,存储过程的参

九、MySQL存储过程和函数

存储过程就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理. 9.1.创建存储过程和函数 存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别是CREATE PROCEDURE和CREATE FUNCTION.使用CALL语句来调用存储过程,只能用输出变量返回值.函数可以从语句外调用( 即通过引用函数名),也能返回标量值.存储过程也能调用其他存储过程. 创建存储过程 创建存储过程,需要使用CREATE PROCEDURE语句,基本语法为: CREAT

MySql存储过程与函数

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来运行已经定义好的SQL语句.存储过程和函数能够避免开发者反复的编写同样的SQL语句.而且,存储过程和函数是在MySQLserver中存储和运行的.能够降低client和server端的传输数据. 一.存储过程 1.1.基本的语法 CREATE PROCEDURE sp_name ([proc_param

mysql 存储过程,函数,触发器

存储过程和函数 mysql> HELP CREATE PROCEDURE; Name: 'CREATE PROCEDURE' Description: Syntax: CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body CREATE [DEFINER = { user | CURRENT_USER }] FUN

MYSQL存储过程,函数,光标

存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body 其中,sp_name参数是存储过程的名称:proc_parameter表示存储过程的参数列表: characteristic参数指定存储过程的特性:routine_body参数是SQL代码的内容,可以用BEGIN-END来标志SQL代码的开始和结束. proc_paramete

12.Mysql存储过程和函数

12.存储过程和函数12.1 什么是存储过程和函数存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数简化应用开发人员的工作,减少数据在数据库和应用服务器之间的传输,有利于提高数据的处理效率.存储过程和函数的区别: 函数必须有返回值,而存储过程没有: 存储过程的参数类型可以是IN.OUT.INOUT,而函数的参数类型只能是IN: 函数一般通过select语句调用,存储过程通过call命令调用: 函数中只能进行select操作,存储过程中可进行select\ins

Mysql存储过程和函数区别介绍

原文链接 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表. 存储过程和函数存在以下几个区别: 1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.存储过程,功能强大,可以执行包括修改表等一系列数据库操作:用户定义函数不能用于执行一组修改全局数据库状态的操作. 2)对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象.函数只能返回一个