2.mysql存储过程、存储函数与触发器
-- 创建一个存储过程
DELIMITER $
CREATE
PROCEDURE 存储过程名称(返回类型 参数名1 参数类型1, ....)
[ ...... ]
BEGIN
-- 具体组成存储过程的SQL语句....
END $
DELIMITER ;
-- 创建一个存储函数
DELIMITER $
CREATE
FUNCTION 存储函数名称(参数名1 参数类型1, ....)
RETURNS 数据类型
[NOT] DETERMINISTIC statements
BEGIN
-- 具体组成存储函数的SQL语句....
END $
DELIMITER ;
-- 创建一个触发器
CREATE TRIGGER 触发器名称
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON 表名
FOR EACH ROW
-- 触发器的逻辑(代码块);
-- ------------- 用户变量与局部变量 ---------------
-- 定义、修改用户变量
set @变量名称 = 变量值;
-- 查询用户变量
select @变量名称;
-- 定义局部变量
DECLARE 变量名称 数据类型 default 默认值;
-- 为局部变量赋值(方式1)
SET 变量名 = 变量值;
-- 为局部变量赋值(方式2)
SET 变量名 := 变量值;
-- 为局部变量赋值(方式3)
select 查询结果字段 into 变量名 from 表名;
-- ------------- 流程控制 ---------------
-- if、elseif、else条件分支语法
IF 条件判断 THEN
-- 分支操作.....
ELSEIF 条件判断 THWN
-- 分支操作.....
ELSE
-- 分支操作.....
END IF
-- case分支判断语句
-- 第一种语法
CASE 变量
WHEN 值1 THEN
-- 分支操作1....
WHEN 值2 THEN
-- 分支操作2....
.....
ELSE
-- 分支操作n....
END CASE;
-- 第二种语法
CASE
WHEN 条件判断1 THEN
-- 分支操作1....
WHEN 条件判断2 THEN
-- 分支操作2....
.....
ELSE
-- 分支操作n....
END CASE;
-- 循环:LOOP、WHILE、REPEAT
-- loop循环
循环名称:LOOP
-- 循环体....
END LOOP 循环名称;
-- while循环
【循环名称】:WHILE 循环条件 DO
-- 循环体....
END WHILE 【循环名称】;
-- repeat循环
【循环名称】:REPEAT
-- 循环体....
UNTIL 结束循环的条件判断
END REPEAT 【循环名称】;
-- 循环跳转
LEAVE 【循环名称】; -- 结束某个循环体
ITERATE 【循环名称】; -- 跳出某个循环体,继续下次循环
-- ------------- 存储过程的游标 ---------------
-- ①声明(创建)游标
DECLARE 游标名称 CURSOR FOR select ...;
-- ②打开游标
OPEN 游标名称;
-- ③使用游标
FETCH 游标名称 INTO 变量名称;
-- ④关闭游标
CLOSE 游标名称;
2.mysql存储过程、存储函数与触发器的更多相关文章
- mysql 存储过程,函数,触发器
存储过程和函数 mysql> HELP CREATE PROCEDURE; Name: 'CREATE PROCEDURE' Description: Syntax: CREATE [DEFIN ...
- Mysql 存储过程、函数、触发器和视图的权限检查
当存储过程.函数.触发器和视图创建后,不单单创建者要执行,其它用户也可能需要执行,换句话说,执行者有可能不是创建者本身,那么在执行存储过程时,MySQL是如何做权限检查的? 在默认情况下,MySQL将 ...
- mysql存储过程、函数和触发器的创建 [转]
http://blog.itpub.net/559237/viewspace-438942/ 今天花了半天时间来研究mysql的存储过程函数和触发器的创建,觉得和oracle的大同小异,只是语法上更艰 ...
- mysql存储过程、函数、触发器、
当数据库版本不允许直接使用存储过程.函数的语法时用delimiter // 将结束符改成//用完之后再写delimiter;将结束符改回来即可,调用过程.函数用call+其名字即可返回结果 delim ...
- MySQL——自定义[存储]函数、触发器
一. 编程基础 1) 结束符 2) 代码块 Begin 相当于 { end; 相当于 } 1. 变量 系统变量 Show variables; 查看系统变量sql_ ...
- MySQL 第十天(视图、存储过程、函数、触发器)
MySql高级-视图.函数.存储过程.触发器 目录 一.视图 1 1.视图的定义 1 2.视图的作用 1 (1)可以简化查询. 1 (2)可以进行权限控制, 3 3.查询 ...
- 【MySQL】MySQL(三)存储过程和函数、触发器、事务
MySQL存储过程和函数 存储过程和函数的概念 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合 存储过程和函数的好处 存储过程和函数可以重复使用,减轻开发人员的工作量.类似于 ...
- MySQL主从环境下存储过程,函数,触发器,事件的复制情况
下面,主要是验证在MySQL主从复制环境下,存储过程,函数,触发器,事件的复制情况,这些确实会让人混淆. 首先,创建一张测试表 mysql),age int); Query OK, rows affe ...
- Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器
---视图 ---视图的概念:视图就是提供一个查询的窗口,来操作数据库中的数据,不存储数据,数据在表中. ---一个由查询语句定义的虚拟表. ---查询语句创建表 create table emp a ...
- MariaDB/MySQL存储过程和函数
本文目录:1.创建存储过程.函数 1.1 存储过程的IN.OUT和INOUT2.修改和删除存储过程.函数3.查看存储过程.函数信息 在MySQL/MariaDB中,存储过程(stored proced ...
随机推荐
- 四:SSM框架整合
四:SSM框架整合 Spring+Spring Mvc+Mybatis整合: 代码实现: 1.创建maven工程 pom.xml <dependencies><!-- spri ...
- vue页面加载闪烁的问题以及解决方案
一.原因: 问题:当我们打开Vue页面的时候,如果弱网环境,会出现一个闪烁的效果下图:加载闪烁问题效果 原因:因为在浏览器中先执行html代码,先渲染Dom,然后再执行JavaScript代码,Vue ...
- Spring Boot学习笔记(一)----概要与入门
本文来自博客园,作者:{张果},转载请注明原文链接:{SpringBoot学习笔记(一)--SpringBoot概要与快速入门} 一.Spring Boot概要 没有Spring Boot开发项目时各 ...
- 通过Rsync实现文件远程备份
转载:博客园 https://www.cnblogs.com/huligong1234/p/13513395.html
- element-ui下表格头部字段hover显示tips信息
记录一下表格头部加hover之后显示tips信息循环,或单独的el-table-column都可以哦 <el-table-column prop="name&q ...
- C# DevExpress GridControl下动态创建列的方法
这里是把在表格中创建控件的方法封装成一个类,然后在创建列的时候实例化"创建控件"的方法 1.在列中使用一些按钮 1 using Common; 2 using DevExpress ...
- 使用Java API操作Neo4j
使用IntelliJ IDEA (Jet Brains) 创建java工程 把下载好的neo4j包中的lib文件下的所有jar文件复制到工程Neo4j_Project的lib文件夹下(若无lib文件夹 ...
- python中的上下文管理器以及python内建模块contextlib的contextmanager方法
上下文管理器 上下文管理器是实现了上下文管理协议的对象,其特有的语法是"with -as".主要用于保存和恢复各种全局状态,关闭文件等,并为try-except-finally提供 ...
- 使用a标签锚点实现顺滑效果
scroll-behavior:smooth;//使用该方法使用a标签锚点的时候会实现平滑 xxx.scrollIntoView({ behavior: "smooth" })
- react native SectionList组件实现多选
如下图所示: 代码如下: import React, { useRef, Component } from 'react'; import { Platform, Text, View, TextIn ...