1、创建procedure和function
CREATE PROCEDURE sp_name ([proc_parameter[,...]])
    [characteristic ...] routine_body

CREATE FUNCTION sp_name ([func_parameter[,...]])
    RETURNS type
    [characteristic ...] routine_body

    proc_parameter:
    [ IN | OUT | INOUT ] param_name type

    func_parameter:
    param_name type

type:
    Any valid MySQL data type

characteristic:
    LANGUAGE SQL
  | [NOT] DETERMINISTIC
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
  | COMMENT 'string'

routine_body:
Valid SQL procedure statement or statements
 
(1)默认子程序和数据库相连,如:db_name.sp_name.
( 2 ) sp_name的名字最好是唯一
(3) 参数为IN, OUT, 或INOUT 只对PROCEDURE是合法的。(FUNCTION参数总是被认为是IN参数)
(4) RETURNS字句只能对FUNCTION做指定,对函数而言这是强制的。它用来指定函数的返回类型,而且函数体必须包含一个RETURN value语句。
(5) routine_body 包含合法的SQL过程语句。
(6) 如果程序或线程总是对同样的输入参数产生同样的结果,则被认为它是“确定的”,否则就是“非确定”的。如果既没有给定DETERMINISTIC也没有给定NOT DETERMINISTIC,默认的就是NOT DETERMINISTIC。
(7) 一些特征提供子程序使用数据的内在信息。CONTAINS SQL表示子程序不包含读或写数据的语句。NO SQL表示子程序不包含SQL语句。READS SQL DATA表示子程序包含读数据的语句,但不包含写数据的语句。
MODIFIES SQL DATA表示子程序包含写数据的语句。如果这些特征没有明确给定,默认的是CONTAINS SQL
(8) SQL SECURITY特征可以用来指定 子程序该用创建子程序者的许可来执行,还是使用调用者的许可来执行。默认值是DEFINER。
(9) COMMENT子句是一个MySQL的扩展,它可以被用来描述 存储程序。这个信息被SHOW CREATE PROCEDURE和 SHOW CREATE FUNCTION语句来显示。
2、修改
ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...]

characteristic:
    { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
3、删除
DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name
4、展示
SHOW CREATE {PROCEDURE | FUNCTION} sp_name
SHOW {PROCEDURE | FUNCTION} STATUS [LIKE 'pattern']
5、调用
call db_name.sp_name(parameter)

转载于:https://www.cnblogs.com/b-dong/p/6305514.html

MySQL存储过程和函数(一)相关推荐

  1. WebDay18 MySQL存储过程 存储函数 触发器 事务

    MySQL存储过程 存储函数 触发器 事务 一.MySQL存储过程和函数 1.存储过程和函数的概念 2.存储过程和函数的好处 3.存储过程和函数的区别 4.创建存储过程 5.调用存储过程 6.查看存储 ...

  2. mysql存储过程与函数、触发器、游标、变量等知识点详解

    引言:该文章仅供自己学习整理 mysql执行顺序 语法顺序 写sql的关键字顺序 select [distinct] from join(如left join) on where group by h ...

  3. Mysql学习总结(11)——MySql存储过程与函数

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程 ...

  4. mysql 存储过程与函数_12 MySQL存储过程与函数

    存储过程和函数 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合. 调用存储过程和函数可以简化应用开发人员的工作,减少数据在数据库和应用服务器之间的传输,提高数据处理的效率. 存储过 ...

  5. mysql存储过程或函数中传入参数与表字段名相同引发的悲剧

    真实案例.如下的一个存储过程: create procedure Apple(in user_id int) begin delete from users where user_id = user_ ...

  6. MySQL存储过程和函数示例

    存储过程和函数是在数据库中定义的一些SQL语句的集合,然后直接调用这些存储过程和函数来执行定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句,而且存储过程和函数是在MySQL ...

  7. 争议?MySQL存储过程与函数,封装,体,完整详细可收藏

    文章目录 1. 存储过程概述 2. 创建存储过程 3. 调用存储过程 4. 存储函数的使用 5. 存储过程和函数的查看.修改.删除 6. 关于存储过程使用的争议 MySQL从5.0版本开始支持存储过程 ...

  8. MySql存储过程与函数

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行 ...

  9. [mysql]存储过程/存储函数

    [Stored Procedure /Stored Function] 存储过程 定义 语法分析: 调试 效果比较 存储函数 应用 语法分析: 两者对比 存储过程和函数的查看.修改.删除 查看 修改 ...

  10. 【MySQL学习】4、MySQL存储过程和函数

    文章目录 1.存储过程和函数概念 2.存储过程的使用 (1)创建存储过程 (2)调用存储过程 (3)查看存储过程 (4)删除存储过程 3.存储过程的语法 (1)声明变量 (2)if条件判断 (3)传递 ...

最新文章

  1. 2022-2028年中国高纯锑行业市场全景研究及发展趋势分析报告
  2. 5.3.6 虚拟地址、线性地址和物理地址之间的关系
  3. 正则只能输入数字,一个小数点,第一位不能为小数点,保留两位小数,为正数,比较全的正则...
  4. 前端学习(508):水平和垂直居中第一种方式
  5. 新版知识付费系统付费阅读小程序源码知识付费平台
  6. Windows如何添加Loopback
  7. 推荐几款php探针,PHP探针推荐:检测服务器环境好帮手
  8. 锐捷交换机堆叠配置举例
  9. 【2022第十届‘泰迪杯’挑战赛】A题:害虫识别完整版(大致思路。详细过程和代码以及结果csv在压缩包中)
  10. 计网——计算机网络和互联网
  11. 电脑进入安全模式的两种方法
  12. Final shell配置
  13. H5满屏彩色泡泡小特效(适合表白哦~做完发给让你每天想念的人吧~)
  14. 望周知,手机维修你还担心隐私泄露嘛?华为手机一键开启维修模式
  15. Android开发之银联工作密钥,主密钥,传输密钥(加解密图文展示)
  16. 谷歌高级搜索_您如何设置高级Google搜索条件?
  17. 验证回文字符串 II(贪心+双指针)
  18. ARS408-21毫米波雷达笔记
  19. 如何读懂一篇学术论文?
  20. python—微信好友头像性别统计个性签名统计

热门文章

  1. GradSearchCv 自定义验证集
  2. 2018 浅谈前端面试那些事
  3. python-1day
  4. 关于SQLserver 的windows验证
  5. 使用FileSystemWatcher监视指定目录
  6. 机器人运维时代已来临?这是真的......
  7. 简单三个数比较大小 “?!”的用法
  8. 关于PageRank的一些见解
  9. 回车无法直接提交当前光标所在控件中的数据
  10. 人类资产数字化是大势所趋