ToB企服应用市场:ToB评测及商务社交产业平台

标题: MySQL存储过程 [打印本页]

作者: 北冰洋以北    时间: 2023-4-4 14:28
标题: MySQL存储过程
基本构造
  1. delimiter $$  #定义终止符,可据习惯更换
  2. CREATE PROCEDURE method_name()                #创建方法
  3. BEGIN                #方法体开始
  4. SELECT 'code';                #方法体,写SQL语句
  5. END                #方法体终止
  6. $$                #存储过程终止
复制代码
基本语法

1.定义终止符
  1. delimiter $$        #$$为自定义符,可据习惯更换
复制代码
2.创建方法
  1. CREATE PROCEDURE method()
复制代码
3.方法体开始
  1. BEGIN
复制代码
4.方法体终止
  1. END
复制代码
5.调用方法
  1. CALL method_name();
复制代码
6.格式化方法
  1. drop PROCEDURE method_name();
复制代码
7.变量及赋值

1.局部变量

用户自定义,在当前 begin-end 块中有效
2.用户变量

用户自定义,在当前会话(连接)中有效,类似JAVA中的全局变量
3.变量赋值

8.入参出参

9.判断

1.IF
  1. IF search_condition THEN statement_list
  2.         [ELSEIF search_condition THEN statement_list]
  3.         {ELSE statement_list}
  4. END IF
复制代码
2.CASE
  1. CASE case_value
  2.         WHEN when_value THEN statement_list
  3.         [WHEN when_value THEN statement_list]
  4.         ...
  5.         [ELSE statement_list]
  6. END CASE
复制代码
  1. CASE
  2.         WHEN search_condition THEN statement_list
  3.         [WHEN search_condition THEN statement_list]
  4.         ...
  5.         [ELSE statement_list]
  6. END CASE
复制代码
10.循环

1.LOOP
  1. [label: ]LOOP
  2.         statement_list
  3.         IF exit_condition THEN
  4.                 LEAVE label;
  5.         END IF;
  6. END LOOP label;
复制代码
2.REPEAT

类似 JAVA 中的 do-while
  1. [label: ]REPEAT
  2.         statement_list
  3. UNTIL search_condition        #直到...为止
  4. END REPEAT;
复制代码
3.WHILE
  1. [label: ]WHILE search_condition DO
  2.         statement_list
  3. END WHILE;
复制代码
11.循环跳出、继续

1.LEAVE

跳出循环,类似 JAVA 中的 break
  1. LEAVE label
复制代码
2.ITERATE

继续本次循环
  1. ITERATE label
复制代码
常用函数

1.字符串拼接
  1. CONCAT(str1,str2,...)
复制代码
2.取时间差
  1. TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
复制代码
取 datetime_expr1 - datetime_expr1 的差值,unit 为单位

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4