存储过程
概述
本文档主要介绍如何使用平凯数据库的存储过程功能。
存储过程功能开关
tidb_enable_procedure 用于开启或者关闭存储过程功能,该变量的作用域为 global。当设置为 ON 时,允许执行 CREATE、ALTER、DROP PROCEDURE 以及 CALL 命令。当设置为 OFF 时,不允许执行 create procedure、alter procedure、call 命令。
自 v7.1.8 版本开始引入 tidb_enable_sp_param_substitute(默认 OFF)。开启后,支持存储过程本地变量下推;默认情况下,开启 tidb_enable_procedure 后会同时开启 tidb_enable_sp_param_substitute。支持单独关闭 tidb_enable_sp_param_substitute。
创建存储过程
参见创建存储过程语法。
删除存储过程
参见删除存储过程语法。
修改存储过程
参见修改存储过程语法。
调用存储过程
参见调用存储过程语法。
查看存储过程
参见查看存储过程语法。
风险与不兼容项
- 当前不支持在存储过程中使用
CALL调用其他存储过程。 - 存储过程内部
PREPARE和EXECUTE仍处于测试状态,不建议使用。 - 当前存储过程不支持 JSON 数据类型。
/*!99999 */注释平凯数据库未实现。- 如果
new_collations_enabled_on_first_bootstrap为true,则与 MySQL 8.0 一致,忽略大小写;如果new_collations_enabled_on_first_bootstrap为false,由于平凯数据库的架构问题,所以存储过程名不会忽略大小写。