PingKai Logo下载

存储过程

概述

本文档主要介绍如何使用平凯数据库的存储过程功能。

存储过程功能开关

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,由于平凯数据库的架构问题,所以存储过程名不会忽略大小写。