MySQL自定义函数和存储过程
自定义函数
使用步骤
1.第一步修改结束符号
基本语法格式 :修改结束符号来写一个自定义函数
DELIMITER 新的结束符号比如$$自定义函数
新的结束符号
DELIMITER;
修改结束符号用的就是 delimiter
2.第二步,写自定义函数
基本语法格式
REATE FUNCTION 函数名([参数名 参数类型...]) RETURNS 返回值的类型
BEGIN函数体RETURN 返回值
END
现在我们来一个完整的例子
DELIMITER $$
CREATE FUNCTION sayhello(name varchar(30)) RETURNS varchar(50)
BEGINRETURN CONCAT("HELLO",name,"!");
END
$$
***
DELIMITER;
我们在这里写了一个名为sayhello的函数,并修改了语句结束符号为$$
通过语句SELECT sayhello("JOJO") 就可以调用
删除函数
drop function [if exists] 函数名;
存储过程
这东西和自定义函数类似
相同点
1.可重复执行语句集合
2.只需一次编译即可直接执行
不同点
1.存储过程使用 PROCEDURE(procedure) 自定义函数使用 FUNCTION
2.存储过程没有返回值 函数必须有
3.函数可以设置返回值的类型
4.存储过程使用 CALL调用 函数可以使用SELECT调用
存储过程基本语法
delimiter 新的结束符号
CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名称 参数类型])
BEGIN过程体
END
新的结束符号
DELIMITER;
参数
其中的三个参数
in |
输入参数 |
out |
输出参数 |
inout |
输入输出参数 |
注意
当形参被定义为OUT 或者 INOUT 时 参数必须是一个变量
用于接收返回给调用者的数据
例子
delimiter $$
CREATE PROCEDURE proc(in sid int)
BEGINselect id,name from student where id>sid;
END
$$
DELIMITER;
调用存储过程
CALL 数据库名.存储过程名([实参列表])
CALL proc(14); #查看id大于14的学生的id和姓名
查看存储过程
show create procedure 过程名;
存储过程的修改
ALTER procedure 存储过程名 [特征];
#特征在创建或修改时都可以使用
特征
选项 |
描述 |
comment"注释内容" |
注释 |
LANGUAGE SQL |
用sql语句来执行 以后可能扩展其他类型 |
contains sql |
包含除读或写的sql语句 |
no sql |
子程序中不含sql语句 |
reads sql data |
子程序中包含读取数据的语句 |
modifies sql data |
子程序中包含写数据的语句 |
ql security definer |
只有定义者才有权限执行存储过程 |
sql security invoker |
调用者有权执行存储过程 |
简单用一下alter procedure proc sql security invoker;
之后只有调用者有权执行存储过程
删除存储过程
DROP PROCEDURE [IF exists] 存储过程名;
MySQL自定义函数和存储过程相关推荐
- mysql自定义函数、存储过程、游标、触发器、事件(定时任务)
创建函数FUN_GET_ORG_CHILD(rootId) CREATE FUNCTION `FUN_GET_ORG_CHILD`(rootId varchar(100))RETURNS varcha ...
- MySQL自定义函数创建与使用总结
MySQL自定义函数创建与使用总结 MySQL自定义函数和存储过程类似,也需要在数据库中创建并保存.它与存储过程一样,都是由SQL语句和控制语句组成的代码片段,可以被应用程序和其他SQL语句调用. M ...
- 数据库系列之mysql 自定义函数function,函数和存储过程的区别
mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...
- mysql 自定义函数function,函数和存储过程的区别
From: https://blog.csdn.net/u010365819/article/details/80470448 1.MySQL自定义函数简介 在MySQL中使用自定义函数也需要相应的要 ...
- mysql 事件 函数_MySQL 自定义函数和存储过程的使用
MySQL支持自定义函数和存储过程,创建函数和存储过程分别使用CREATE PROCEDURE和CREATE FUNCTION,两者在语法结构上比较相似,但是它们的使用方法及使用场景有所有不同. 1. ...
- MySQL自定义函数(CREATE FUNCTION)
在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...
- mysql自定义函数的分号_MySQL之自定义函数实例讲解
转自:https://www.2cto.com/database/201804/740205.html MySQL中已经有很多函数,如时间函数等,但是有时这些函数不能满足自己的设计需求,此时需要自定义 ...
- MySQL自定义函数的使用
MySQL字定义函数是对sql代码集的封装,我将分享有参数与没有参数的自定义函数的使用 studentinfo表数据: 自定义函数的创建.调用.删除 语法 无参数的自定义函数 # 无参数自定义函数 D ...
- mysql 自定义函数教程_MySQL自定义函数
MySQL自定义函数 函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回 创建函数 #语法 参数列表包含两部分 参数名和参数类型 #函数体 ...
最新文章
- linux下程序执行的步骤及其作用
- RDB和AOF的持久化配置
- 【转】GLSL资料收集
- python记事本_python记事本实现查询替换
- 题目 2194: 蓝桥杯2018年第九届真题-递增三元组
- SQL语句基本用法格式
- 饭卡可以用水冲洗吗_关于饭卡使用与管理的规定
- 【校园卡】2020移动联通电信校园卡对比
- 手写多图片合并成一张图片功能插件(水印合成)
- 应届生求职前端工程师岗位,该如何准备?
- 1447D Catching Cheaters
- 业务监控 开源_将您的开源项目转变为业务的钥匙
- QCustomplot之安装篇(一)
- JavaCV 实现照片打马赛克功能
- 【githubshare】Linux sed 命令行常用汇总:useful-sed,收集了 sed 命令行的诸多常见用法,可用于快速处理文本文件
- 王老吉药业“关爱烈日下最可爱的人”公益活动在南京启动
- HTML 列表标签、有序列表、无序列表、自定义列表dl dt dd
- 阿里巴巴B2B测试用例编写规范
- 开源布道师适兕访谈录
- vue 知识点---kalrry