全部产品

存储过程

更新时间:2020-04-17 17:11:59

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)点击连接名进入连接后,在左导航栏中点击 存储过程 标签可以查看存储过程列表。

存储过程(Stored Procedure)是在数据库系统中,一组为了完成特定功能的 SQL 语句集,它存储在数据库中,一次编译后永久有效。

函数和存储过程的定义类似,都是 SQL 脚本的集合,但是二者主要区别如下:

  • 函数一般只能返回一个变量,而存储过程可以返回多个变量。
  • 函数是可以嵌入在 SQL 语句中使用,比如,可以在 SELECT 语句中调用函数,但是存储过程一般是作为一个独立的部分被执行。
  • 函数限制比较多,而存储过程的限制相对就比较少。一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。

创建存储过程

在存储过程列表的右上角,点击 + 创建存储过程,或是在上方导航栏中点击 新建 以创建您需要的对象。创建存储过程需要输入以下信息:

  • 名称:指定存储过程的名称。
  • 参数:参数即调用存储过程时传入的信息,您需要指定参数的 名称模式数据类型默认值(MySQL 模式下不支持设置 默认值)。可拖动参数以调整顺序。

点击 确定 后,根据您指定的信息会预生成一个 SQL 脚本,您需要补全执行体部分。完成 SQL 脚本后点击页面右下角的 保存 按钮开始执行脚本并生成存储过程。

参数中的 模式 指参数类型。有 IN (输入)、OUT (输出)、INOUT (输入输出)三种类型:

  • IN: 输入参数,调用存储过程时将参数的值传入存储过程供执行存储过程时使用。
  • OUT:输出参数,调用存储过程时,存储过程会忽略输出参数本身的值并传入一个空值,执行结束后,输出参数会被赋予存储过程对它修改的值。一般用输出参数获取存储过程的执行结果数据。
  • INOUT:输入输出参数,即同时具备输入参数和输出参数的功能。

新建存储过程

查看存储过程

在存储过程列表中双击目标存储过程名进入存储过程管理页面。您可以在存储过程管理页面查看以下信息:

  • 基本信息:展示存储过程 名称创建人 等信息。
  • 参数:展示参数 名称顺序模式数据类型默认值 等信息。
  • DDL:展示定义存储过程的 SQL 脚本。

存储过程