You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在非mysql.proc的其他Schema中创建MariaDB存储过程?

在MariaDB 11.1.4中于mysql.proc以外的Schema创建存储过程的可行性说明

完全可以在**自定义Schema(数据库)**中创建存储过程,mysql.proc只是MariaDB用来存储所有存储过程元数据的系统表,并非存储过程的实际所属Schema。

具体相关信息如下:

  • 创建方式:在CREATE PROCEDURE语句中明确指定目标Schema即可,示例代码:
-- 先确保目标Schema已存在
CREATE DATABASE IF NOT EXISTS my_custom_schema;

-- 在自定义Schema下创建存储过程
CREATE PROCEDURE my_custom_schema.get_user_count()
BEGIN
    SELECT COUNT(*) AS user_count FROM my_custom_schema.users;
END;
  • 查看与调用:创建完成后,可通过以下方式确认或调用:
    -- 查看指定Schema下的存储过程列表
    SHOW PROCEDURE STATUS WHERE Db = 'my_custom_schema';
    
    -- 调用自定义Schema下的存储过程
    CALL my_custom_schema.get_user_count();
    
  • 权限要求:执行创建操作的账号需要拥有目标Schema的CREATE ROUTINE权限,调用时需要对应Schema的EXECUTE权限。

简单来说,mysql.proc只是记录存储过程的元信息(比如所属Schema、定义语句、权限等),存储过程的实际归属和运行上下文由创建时指定的Schema决定,完全不需要局限在mysql系统Schema下。

内容的提问来源于stack exchange,提问作者ChangshinKang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:02:05