|
基本构造
- delimiter $$ #定义终止符,可据习惯更换
- CREATE PROCEDURE method_name() #创建方法
- BEGIN #方法体开始
- SELECT 'code'; #方法体,写SQL语句
- END #方法体终止
- $$ #存储过程终止
复制代码 基本语法
1.定义终止符
- delimiter $$ #$$为自定义符,可据习惯更换
复制代码 2.创建方法
- CREATE PROCEDURE method()
复制代码 3.方法体开始
4.方法体终止
5.调用方法
6.格式化方法
- drop PROCEDURE method_name();
复制代码 7.变量及赋值
1.局部变量
用户自定义,在当前 begin-end 块中有效
- 声明变量
- declare var_name type [default var_value];
复制代码 例:- declare nickname varchar(32);
复制代码 2.用户变量
用户自定义,在当前会话(连接)中有效,类似JAVA中的全局变量
- 不需提前声明,使用即声明例:
- set @var_name = 'var_name';
复制代码 3.变量赋值
- set 赋值例:
- set var_name = 'var_name';
复制代码 - into 赋值
可在其他 sql 语句中临时赋值,且可以同时给多个临时变量例:- select var_name1 into @var_name2 from tables_name
复制代码 8.入参出参
- 入参
- 出参
类似 JAVA 中返回值例:- delimiter $$
- CREATE PROCEDURE method (
- IN parameter1 VARCHAR ( 32 ),OUT parameter2 VARCHAR ( 32 )
- BEGIN
- SELECT
- parameter2 INTO @parameter2
- FROM
- table_name
- WHERE
- parameter1 = parameter1;
- END $$
- CALL method ( '参数1', @parameter2 ) $$
- SELECT @parameter2 $$
复制代码 - inout 即可入参也可出参
9.判断
1.IF
- IF search_condition THEN statement_list
- [ELSEIF search_condition THEN statement_list]
- {ELSE statement_list}
- END IF
复制代码 2.CASE
- CASE case_value
- WHEN when_value THEN statement_list
- [WHEN when_value THEN statement_list]
- ...
- [ELSE statement_list]
- END CASE
复制代码- CASE
- WHEN search_condition THEN statement_list
- [WHEN search_condition THEN statement_list]
- ...
- [ELSE statement_list]
- END CASE
复制代码 10.循环
1.LOOP
- [label: ]LOOP
- statement_list
- IF exit_condition THEN
- LEAVE label;
- END IF;
- END LOOP label;
复制代码 2.REPEAT
类似 JAVA 中的 do-while- [label: ]REPEAT
- statement_list
- UNTIL search_condition #直到...为止
- END REPEAT;
复制代码 3.WHILE
- [label: ]WHILE search_condition DO
- statement_list
- END WHILE;
复制代码 11.循环跳出、继续
1.LEAVE
跳出循环,类似 JAVA 中的 break2.ITERATE
继续本次循环常用函数
1.字符串拼接
2.取时间差
- TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
复制代码 取 datetime_expr1 - datetime_expr1 的差值,unit 为单位
来源:https://www.cnblogs.com/V-Notes/p/17271130.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|