纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

mysql存储过程及函数 mysql创建存储过程及函数详解

十有八⑨   2021-12-02 我要评论
想了解mysql创建存储过程及函数详解的相关内容吗十有八⑨在本文为您仔细讲解mysql存储过程及函数的相关知识和一些Code实例欢迎阅读和指正我们先划重点:mysql存储过程及函数详解,mysql存储过程详解下面大家一起来学习吧

1. 存储过程

1.1. 基本语法

create procedure name ([params])

UNSIGNED [characteristics] routine_body

 params : in|out|inout 指定参数列表 代表输入与输出

routine_body: SQL代码内容以begin ........   end

characteristics: 指定存储过程特性包含5种

                           1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句当然也不会修改数据
3 READS SQL DATA 只是读取数据当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句

1.2 创建一个指定执行权限的存储过程

create DEFINER=`root`@`%` procedure name ([params])

UNSIGNED [characteristics] routine_body

DEFINER:指明谁有权力来执行

1.3 DELIMITER 的使用

      ”DELIMITER //“ 表示设置“//”符号为结束语因为mysql中默认语句结束为分号‘;'为了避免存储过程与mysql语句符号冲突所以有时使用DELIMITER来改变结束语符号要配合end //来使用;

 示例:创建一个root账户执行的存储过程输出给定字符串的长度

DELIMITER //
CREATE definer=`root`@`%` PROCEDURE `avgFruitPrice`(
in f_string VARCHAR(200)
)
BEGIN
    select length(f_string);
END//

2. 创建函数 

函数的创建与存储过程相同

示例

DELIMITER //
CREATE definer=`root`@`%` FUNCTION `my_length`(
f_string VARCHAR(200)
)
RETURNS INT(11)
UNSIGNED  NO SQL
BEGIN
    return length(f_string);
END//

注意: 创建函数需要注意3个地方

1.  RETURNS: 需指定返回类型

2. UNSIGNED  NO SQL 需指定存储过程特性

3.return: 返回需要的数据

遇见的错误:

如报错如上信息就是没有指定存储过程特性

存储过程函数中可以通过mysql查询结果为其参数复制: 其语句为select .... into

begin

declare onename char(50) default‘0';

declare twoname char(50);

select f_name, b_name into onename, twoname from t_user where id =1;

.......

end//

说明:

declare: 存储过程及函数内部定义变量

default:默认值


相关文章

猜您喜欢

  • Java redisTemplate 处理消息队列 JavaredisTemplate阻塞式处理消息队列

    想了解JavaredisTemplate阻塞式处理消息队列的相关内容吗陈努力丶在本文为您仔细讲解JavaredisTemplate处理消息队列的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Java处理消息队列,JavaredisTemplate处理消息队列下面大家一起来学习吧..
  • java多线程Synchronized java多线程Synchronized实现可见性原理解析

    想了解java多线程Synchronized实现可见性原理解析的相关内容吗阳光下的米雪在本文为您仔细讲解java多线程Synchronized的相关知识和一些Code实例欢迎阅读和指正我们先划重点:java多线程Synchronized,java多线程可见性下面大家一起来学习吧..

网友评论

Copyright 2020 www.eleasoftware.com 【绿软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式