You need to enable JavaScript to run this app.
导航

存储过程管理

最近更新时间2023.06.06 17:15:39

首次发布时间2022.11.17 16:46:12

本文介绍如何在数据库工作台 DBW 的数据交互台内可视化的创建、删除、编辑存储过程,实现存储过程的全生命周期的管理。

前提条件

注意事项

  • 不建议在系统库上创建、编辑和删除存储过程。

  • 存储过程定义中的 SQL 语句不可以使用return关键字。

  • 存储过程定义中您无需自定义分隔符。

  • 存储过程的输出参数不可以和表的字段名一样。

  • 由于 MySQL 的存储过程中没有默认参数值,所以在调用 MySQL 的存储过程时,不能省略参数,可以用 NULL 替代。例如当创建的存储过程为p(in a int, out b int),其ab是参数,您可以使用call p(1,@b)命令调用存储过程。

  • 删除存储过程后无法恢复,需谨慎操作。

创建存储过程

  1. 登录云数据库 MySQL 版数据交互台

  2. 数据交互台页面的可视化操作区域,将鼠标指向存储过程后,选择 ... < 创建存储过程

  3. 创建存储过程@{数据库名称} 页签中,配置以下参数信息。

    参数说明

    名称

    自定义存储过程的名称。命名规则:

    • 存储名称在数据库内唯一。

    • 长度在 1~64 个字符内,且不能为空。

    • 以字母开头,以字母或数字结尾。

    • 由小写字母、数字、下划线(_)或中划线(-)组成。

    输入参数(可选)单击添加字段,配置输入参数。

    输出参数

    (可选)单击添加字段,配置输出参数。

    说明

    输出参数不可以和表的字段名一样。

    安全性

    选择存储过程的安全性,支持以下类型:

    • 默认:当选择默认时,安全性默认取值为 DEFINER。

    • DEFINER:由定义者(DEFINER)指定的用户的权限来执行。当选择 DEFINER 时,数据库中必须存在 DEFINER 指定的用户,且该用户需拥有对应的操作权限,才可以成功执行。

    • INVOKER:由调用这个视图的用户的权限来执行。当选择 INVOKER 时,执行者有执行权限即可成功执行。

    数据访问

    选择存储过程的数据访问方式,支持以下类型:

    • Default:当选择 Default 时,数据访问的默认取值为 ContainsSQL。

    • NoSQL:表示子程序不包含 SQL 语句。

    • ContainsSQL:表示子程序不包含读或写数据的语句。

    • ReadsSQLData:表示子程序包含读数据的语句,但不包含写数据的语句。

    • ModifiesSQLData:表示子程序包含写数据的语句。

    注释(可选)存储过程的备注信息,帮助您辨识存储过程。
  4. 单击下一步

  5. 存储过程定义页签,配置命令语句,然后单击提交

    说明

    • 存储过程定义中的 SQL 语句不可以使用return关键字。
    • 存储过程定义中您无需自定义分隔符。
  6. 执行 SQL 对话框中,确认执行语句,单击执行

执行存储过程

  1. 登录云数据库 MySQL 版数据交互台

  2. 数据交互台页面的可视化操作区域,选择存储过程 > {目标存储过程}

  3. 将鼠标指向目标存储过程后,选择 ... < 执行存储过程

  4. 执行存储过程对话框中,配置参数值,然后单击执行

  5. 执行 SQL 对话框,确认执行语句,单击执行

    成功执行后,您可以在执行存储过程对话框的执行结果区域,单击查看结果,查看执行存储过程的结果。

编辑存储过程

  1. 登录云数据库 MySQL 版数据交互台

  2. 数据交互台页面的可视化操作区域,选择存储过程 > {目标存储过程}

  3. 将鼠标指向目标存储过程后,选择 ... < 编辑存储过程

  4. 编辑存储过程@{数据库名称} 页签的存储过程定义区域,按需编辑存储过程语句。

    说明

    • 存储过程定义中的 SQL 语句不可以使用return关键字。
    • 存储过程定义中您无需自定义分隔符。
  5. 单击提交

  6. 执行 SQL 对话框,确认执行语句,然后单击执行

删除存储过程

注意

删除后将无法恢复,需谨慎操作。

  1. 登录云数据库 MySQL 版数据交互台

  2. 数据交互台页面的可视化操作区域,选择存储过程 > {目标存储过程}

  3. 将鼠标指向目标存储过程后,选择 ... < 删除存储过程

  4. 删除存储过程对话框中,确认删除语句,单击执行

相关 API

API描述
DataExecCommands调用 DataExecCommands 接口执行命令语句。
DataSessionKeepAlive调用 DataSessionKeepAlive 接口保持 SQL 会话窗口。
DataCloseSession调用 DataCloseSession 接口退出 SQL 会话窗口。
DataCancelExec调用 DataCancelExec 接口取消 SQL 执行。