当前位置:网站首页>Mysql 存储过程详解(procedure)
Mysql 存储过程详解(procedure)
2022-08-03 05:22:00 【鱼丸丶粗面】
1 概述
2 语法
2.1 创建
create procedure 存储过程名(in|out|inout 参数名 参数类型)
begin
-- 变量定义
declare v_int int default 0;
-- 变量赋值
set v_var = 1;
-- 具体逻辑
...;
end;
实例:
use test; -- 指定执行用户
drop procedure if exists procedure_demo; -- 若存在,先删除
delimiter $$ -- 指定分隔符,避免与逻辑代码中的 ";" 产生冲突
-- 创建存储过程
create procedure procedure_demo(in i_int int,
out o_varchar varchar(255))
begin
-- 变量定义
declare v_int int default 0;
declare v_numeric numeric(10, 2) default 13.14;
declare v_date date default '2021-05-10';
declare v_datetime datetime default '2021-05-10 21:03:00';
declare v_varchar varchar(255) default '存储过程模板';
-- 变量赋值
set v_int = i_int;
-- 逻辑代码
select v_int,
v_numeric,
v_date,
v_datetime,
v_varchar
from dual;
-- 输出,y: 执行成功
set o_varchar = 'Y';
end $$
delimiter ; -- 还原默认分隔符 ";"
2.2 调用
-- 有参数: 入参, 出参
call procedure_demo(2, @v_out);
select @v_out;
-- 无参数
call procedure_name();
2.3 查询
-- 方式1:查询常规情况
show procedure status where db='数据库名';
-- 方式2:查询常规情况
select *
from information_schema.routines r
where r.routine_schema='数据库名'
and r.routine_type = 'PROCEDURE';
-- 方式3:查询定义的部分 create ...
show create procedure 数据库.存储过程名;
2.4 删除
drop procedure if exists procedure_demo; -- 若存在,先删除
边栏推荐
- vivado遇到的问题
- 边缘辅助无人机网络的分层联邦学习
- 玩转Markdown(2) —— 抽象语法树的提取与操纵
- 一劳永逸解决vs编译器无法使用scanf函数
- [Rebound shell and privilege escalation]
- Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)
- 【CSRF,SSRF,XXE,PHP反序列化,Burpsuite】
- Go (一) 基础部分2 -- if条件判断,for循环语句
- 编写一个函数 reverse_string(char * string)(两种方法实现)7.26
- 【HQL】(二) 查询使用正则表达式做列选择
猜你喜欢
嵌入式实验四
Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})
Apache2-XXE漏洞渗透
A-B数对问题|UPC-Count Interval|洛谷-P1102A-B数对
动态调整web系统主题? 看这一篇就够了
Browser multi-threaded off-screen rendering, compression and packaging scheme
docker mysql 容器中执行mysql脚本文件并解决乱码
Oracle 密码策略详解
玩转Markdown(2) —— 抽象语法树的提取与操纵
The ` monorepo ` ` hoist ` mechanism lead to the change of the loading configuration file path
随机推荐
arm64麒麟安装paddlehub(国产化)注意事项
嵌入式实验二注意点
【 Nmap and Metasploit common commands 】
让小程序开发进入 `tailwind jit` 时代
pta a.1030的dijkstra+DFS方法
令人愉快的 Nuxt3 教程 (二): 快速轻松地搭建博客
spark sql 报错 Can‘t zip RDDs with unequal numbers of partitions
机器码介绍
Greetings(状压DP,枚举子集转移)
【HQL】(二) 查询使用正则表达式做列选择
【myPow,2次幂,3次幂..代码实现】
【HQL】(一)json字符串处理json_tuple和get_json_object
HoloLens联合发明人:打造理想的全天AR需要解决这些问题
ansible的安装和部署详细过程,配置清单基本操作
UPC-Longest X
【DC-2靶场渗透】
A-B数对问题|UPC-Count Interval|洛谷-P1102A-B数对
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
Playing with Markdown(2) - Extraction and Manipulation of Abstract Syntax Trees