美文网首页
MySQL 存储过程

MySQL 存储过程

作者: ChanHsu | 来源:发表于2017-04-12 09:44 被阅读73次

1、局部变量

在存储过程体中可以声明局部变量,用来存储存储过程体中临时结果。

DECLARE var_name[,…] type [DEFAULT value] 
var_name:指定局部变量的名称 
type:用于声明局部变量的数据类型 
default子句:用于为局部变量指定一个默认值。若没有指定,默认为null.

使用说明:
局部变量只能在存储过程体的begin…end语句块中声明。
局部变量必须在存储过程体的开头处声明。
局部变量的作用范围仅限于声明它的begin..end语句块,其他语句块中的语句不可以使用它。
局部变量不同于用户变量,两者区别:局部变量声明时,在其前面没有使用@符号,并且它只能在begin..end语句块中使用;而用户变量在声明时,会在其名称前面使用@符号,同时已声明的用户变量存在于整个会话之中。

2、SET 语句

使用set语句为局部变量赋值

SET var_name=expr  
SET cid=910; 

3、SELECT… INTO 语句

把选定列的值直接存储到局部变量中,语法格式

SELECT col_name[,…] INTO var_name[,…] table_expr 
col_name:用于指定列名 
var_name:用于指定要赋值的变量名 
table_expr:表示select语句中的from字句及后面的语法部分 

说明:存储过程体中的select…into语句返回的结果集只能有一行数据。

4、定义处理程序

是事先定义程序执行过程中可能遇到的问题。并且可以在处理程序中定义解决这些问题的办法。这种方式可以提前预测可能出现的问题,并提出解决方法。

DECLARE handler_type HANDLER FOR condition_value[,…] sp_statement 
handler_type:CONTINUE | EXIT | UNDO 
Condition_value:Sqlwarning | not found | sqlexception

5、IF语句

IF search_condition THEN statement_list 
[ELSEIF search_condition THEN statement_list]… 
[ELSE statement_list] 
END IF

Search_condition参数:条件判断语句
Statement_list参数:不同条件的执行语句
多重IF的存储过程实例

6、CASE 语句

CASE case_value 
WHEN when_value THEN statement_list 
[WHEN when_value THEN  statement_list]… 
[ELSE statement_list] 
END CASE

7、WHILE 语句

WHILE search_condition DO
Statement_list 
END WHILE 

判断条件search_condition是否为真,若为真,则执行statement_list中的语句,然后再进行判断,如若仍然为真则继续循环,直至条件判断不为真时循环结束。

8、REPEAT 语句

REPEAT 
Statement_list 
UNTIL search_condition 
END REPEAT  

Repeat语句首先执行statement_list中的语句,然后判断条件search_condition是否为真,倘若为真,则结束循环,若不为真,继续循环。
Repeat先执行后判断,while先判断后执行。

9、LOOP 语句

test:LOOP
SET s1 = s1+1;
IF s1 = 5 THEN
LEAVE test;
END IF;
END LOOP;

LOOP没有循环条件,会不停的循环直到遇到 "LEAVE test;" "test"是自定义的LOOP标记

10、PREPARE 语句

PREPARE statement_name FROM sql_text /*定义*/   
EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/   
DEALLOCATE PREPARE statement_name /*删除定义*/   

相关文章

  • 15 MySQL 存储过程

    MySQL 存储过程 [toc] 存储过程概述 存储过程介绍 存储过程,相当于是 MySQL 语句组成的脚本 指的...

  • 存储过程

    使用存储过程 1.存储过程 ​ 需要MySQL5---->> MySQL5添加了对存储过程的支持。 ​ 迄...

  • MySQL存储过程详解 mysql 存储过程

    原文链接 MySQL存储过程详解 1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然...

  • Mysql存储过程

    阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的“脚本” 创建存储过程 调用存储过程 存储过程...

  • 面试官突然问我MySQL存储过程,我竟然连基础都不会!(详细)

    MySQL存储过程 一、存储过程 1.1 什么是存储过程 存储过程(Stored Procedure)是在大型数据...

  • MySQL存储过程创建及调用方法

    MySQL存储过程是一个sql语句,那么我们如何创建呢,MySQL存储过程创建及修改,删除操作。 1,存储过程创建...

  • 存储过程

    创建存储过程 mysql: 执行存储过程 mysql: 使用OUT参数和INOUT参数: PREPARE和EXEC...

  • SQL基本语句(以MySQL为例)-- 第五部分

    19、使用存储过程MySQL的存储过程的语句跟这本书上的差太远了吧,以下参考自:MySQL存储过程教程 20、管理...

  • MySQL存储过程和存储函数

    一、存储过程 MySQL存储过程存储过程和存储函数参考文章 SQL语句需要先编译然后执行,而存储过程(Stored...

  • MySQL存储过程

    1、关于MySQL的存储过程 存储过程是数据库存储的一个重要的功能,但是MySQL在5.0以前并不支持存储过程,这...

网友评论

      本文标题:MySQL 存储过程

      本文链接:https://www.haomeiwen.com/subject/xrgpattx.html