自定义函数

使用步骤

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自定义函数和存储过程相关推荐

  1. mysql自定义函数、存储过程、游标、触发器、事件(定时任务)

    创建函数FUN_GET_ORG_CHILD(rootId) CREATE FUNCTION `FUN_GET_ORG_CHILD`(rootId varchar(100))RETURNS varcha ...

  2. MySQL自定义函数创建与使用总结

    MySQL自定义函数创建与使用总结 MySQL自定义函数和存储过程类似,也需要在数据库中创建并保存.它与存储过程一样,都是由SQL语句和控制语句组成的代码片段,可以被应用程序和其他SQL语句调用. M ...

  3. 数据库系列之mysql 自定义函数function,函数和存储过程的区别

    mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...

  4. mysql 自定义函数function,函数和存储过程的区别

    From: https://blog.csdn.net/u010365819/article/details/80470448 1.MySQL自定义函数简介 在MySQL中使用自定义函数也需要相应的要 ...

  5. mysql 事件 函数_MySQL 自定义函数和存储过程的使用

    MySQL支持自定义函数和存储过程,创建函数和存储过程分别使用CREATE PROCEDURE和CREATE FUNCTION,两者在语法结构上比较相似,但是它们的使用方法及使用场景有所有不同. 1. ...

  6. MySQL自定义函数(CREATE FUNCTION)

    在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...

  7. mysql自定义函数的分号_MySQL之自定义函数实例讲解

    转自:https://www.2cto.com/database/201804/740205.html MySQL中已经有很多函数,如时间函数等,但是有时这些函数不能满足自己的设计需求,此时需要自定义 ...

  8. MySQL自定义函数的使用

    MySQL字定义函数是对sql代码集的封装,我将分享有参数与没有参数的自定义函数的使用 studentinfo表数据: 自定义函数的创建.调用.删除 语法 无参数的自定义函数 # 无参数自定义函数 D ...

  9. mysql 自定义函数教程_MySQL自定义函数

    MySQL自定义函数 函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回 创建函数 #语法 参数列表包含两部分 参数名和参数类型 #函数体 ...

最新文章

  1. linux下程序执行的步骤及其作用
  2. RDB和AOF的持久化配置
  3. 【转】GLSL资料收集
  4. python记事本_python记事本实现查询替换
  5. 题目 2194: 蓝桥杯2018年第九届真题-递增三元组
  6. SQL语句基本用法格式
  7. 饭卡可以用水冲洗吗_关于饭卡使用与管理的规定
  8. 【校园卡】2020移动联通电信校园卡对比
  9. 手写多图片合并成一张图片功能插件(水印合成)
  10. 应届生求职前端工程师岗位,该如何准备?
  11. 1447D Catching Cheaters
  12. 业务监控 开源_将您的开源项目转变为业务的钥匙
  13. QCustomplot之安装篇(一)
  14. JavaCV 实现照片打马赛克功能
  15. 【githubshare】Linux sed 命令行常用汇总:useful-sed,收集了 sed 命令行的诸多常见用法,可用于快速处理文本文件
  16. 王老吉药业“关爱烈日下最可爱的人”公益活动在南京启动
  17. HTML 列表标签、有序列表、无序列表、自定义列表dl dt dd
  18. 阿里巴巴B2B测试用例编写规范
  19. 开源布道师适兕访谈录
  20. vue 知识点---kalrry

热门文章

  1. ubuntu 16.04 编译android 7.1,jack报错
  2. SpringBoot中使用Redis保存对象或集合
  3. Linux系列:给网卡添加IP地址方法
  4. Storm-电商实时交易风控系统
  5. Druid连接池参考配置和说明
  6. js 中有endswith_函数 ENDSWITH()函数 - 闪电教程JSRUN
  7. 不要做联表查询!!!
  8. 股权激励,要从这六个层面去理解
  9. Regression 2
  10. ClassLoader和ClassForname的区别(详解)