Todos los productos
Search
Centro de documentos

ApsaraDB for OceanBase (Deprecated):Crear un procedimiento almacenado

Última actualización: Sep 18, 2026

ODC admite la creación visual de procedimientos almacenados. En este tema se describe cómo crear un procedimiento almacenado con ODC.

Descripción general

Un procedimiento almacenado es un conjunto de una o más instrucciones. Para ejecutar una serie de operaciones complejas en una base de datos, puede usar un procedimiento almacenado que encapsule dichas operaciones en un bloque de código reutilizable dentro de la base de datos. Esto ayuda a los desarrolladores a reducir su carga de trabajo.

En OceanBase Database, un procedimiento almacenado es un conjunto de instrucciones SQL que implementan una función específica. Después de compilar y almacenar un procedimiento en la base de datos, puede especificar su nombre y los parámetros obligatorios para llamarlo y acelerar así la ejecución de las instrucciones SQL.

Un procedimiento almacenado puede contener parámetros y valores de retorno.

Diferencias entre un procedimiento almacenado y una función

  • El valor de retorno de una función es un resultado específico, mientras que el de un procedimiento almacenado solo indica si la ejecución fue exitosa.

  • Puede llamar a una función mediante una instrucción SELECT. Para llamar a un procedimiento almacenado, utilice una instrucción CALL.

Ventajas de los procedimientos almacenados

  • Mejoran la versatilidad y portabilidad de la aplicación: después de crear un procedimiento almacenado, un programa puede llamarlo de forma repetida sin necesidad de reescribir sus instrucciones SQL. Además, los procedimientos almacenados se pueden modificar sin afectar el código fuente del programa, lo que mejora la portabilidad de este último.

  • Aceleran la ejecución de SQL: si una operación implica una gran cantidad de instrucciones SQL o la ejecución repetida de las mismas instrucciones, puede compilar el código en un procedimiento almacenado y ejecutarlo. Este método es más rápido que ejecutar las instrucciones por separado.

  • Reducen la carga de trabajo del servidor: si se llama a una instrucción SQL a la vez para operar sobre los objetos de la base de datos, se transmite un gran volumen de instrucciones. Con un procedimiento almacenado equivalente, solo se envía el comando para llamarlo, lo que reduce la carga de la red.

Overview

Como se muestra en la figura anterior, puede crear un procedimiento almacenado en los siguientes cinco pasos:

  1. Specify the name of the stored procedure.

  2. Specify parameters.

  3. Verify the parameters of the stored procedure.

  4. Edit the stored procedure.

  5. Complete the stored procedure creation.

En el siguiente ejemplo, se crea un procedimiento almacenado llamado proc_total en la consola de ODC para calcular presupuestos departamentales. El procedimiento contiene dos parámetros de entrada de tipo INT, budget_r y budget_s, y calcula la suma de ambos.

Nota

Los datos que se utilizan en este tema son ejemplos. Puede sustituirlos por datos reales según sea necesario.

Procedimiento

Paso 1: Especifique el nombre del procedimiento almacenado.

Inicie sesión en la consola de ODC y haga clic en el nombre de la conexión deseada para ir a la página de gestión de conexiones correspondiente. Haga clic en Stored Procedure en el panel de navegación izquierdo para obtener la lista de procedimientos almacenados. Para crear uno nuevo, haga clic en + en la esquina superior derecha de la lista Stored Procedure o seleccione Create > Stored Procedure en la barra de navegación superior.

En el cuadro de diálogo Create Stored Procedure, introduzca un nombre para el procedimiento almacenado.

1

Paso 2: Especifique los parámetros.

  1. Los parámetros definen la información que se pasa a una función cuando se le llama.

    • En modo Oracle, especifique los siguientes campos: Name, Mode, Type y Default Value.

    • En modo MySQL, especifique Name, Mode, Type y Length.

  2. Puede especificar los parámetros mediante uno de los tres métodos siguientes.

    Método

    Descripción

    Usar la barra de herramientas de acceso rápido

    En la barra de herramientas de acceso rápido, puede agregar, eliminar y mover parámetros hacia arriba o hacia abajo.

    Hacer clic en el número de fila

    • Haga clic en un número de fila para seleccionarla y mostrar la barra de herramientas de acceso rápido, desde donde podrá eliminarla o moverla hacia arriba o hacia abajo.

    • Haga clic en un número de fila para seleccionarla y luego arrástrela para ajustar su orden.

    Hacer clic derecho

    • Copiar una fila o moverla hacia abajo: arrastre el puntero para seleccionar una fila, haga clic derecho sobre ella y seleccione Copy o Move Down en el menú contextual que aparece.

    • Copiar una celda: seleccione una celda, haga clic derecho sobre ella y seleccione Copy en el menú contextual que aparece.

    Nota

    Después de copiar una fila, puede seleccionar otra y pegar los datos copiados con las teclas de acceso rápido Command + V / Ctrl + V.

  3. Debe especificar el modo de los parámetros.

    OceanBase Database, tanto en modo MySQL como en modo Oracle, admite los siguientes modos de parámetro: IN, OUT e INOUT.

    CREATE PROCEDURE proc_name ([[IN |OUT |INOUT ] parameter_name parameter_type...])
    • Parámetros

      Parámetro

      Tipo

      IN

      Indica un parámetro de entrada.

      Cuando se llama a un procedimiento almacenado, el parámetro de entrada se le pasa y se utiliza durante su ejecución. Por lo general, estos parámetros solo sirven para pasar valores y no se modifican ni se devuelven durante la llamada.

      OUT

      Indica un parámetro de salida.

      Cuando se llama a un procedimiento almacenado, el valor de un parámetro de salida se ignora y se le pasa un valor vacío. Dicho valor se modifica durante la ejecución del procedimiento. Una vez finalizada, el valor modificado se asigna al parámetro de salida. Normalmente, estos parámetros se usan para obtener los resultados de ejecución de un procedimiento almacenado y permiten modificar y devolver valores durante la llamada.

      INOUT

      Indica un parámetro de entrada y salida.

      Un parámetro de entrada y salida funciona simultáneamente como parámetro de entrada y de salida.

    • Configuración de parámetros

      Propiedad

      Obligatorio

      Predeterminado

      Modo

      Name

      Sí

      Vacío

      Oracle/MySQL

      Mode

      Sí

      IN

      Oracle/MySQL

      Type

      Sí

      VARCHAR

      Oracle/MySQL

      Length

      Sí

      45

      MySQL

      Default value

      No

      Vacío

      Oracle

Paso 3: Compruebe los parámetros del procedimiento almacenado.

Haga clic en OK para ir a la página Create Stored Procedure.

Paso 4: Edite el procedimiento almacenado.

4

Edite las instrucciones en la página Create Stored Procedure.

Además, la barra de herramientas de la página de edición ofrece los siguientes botones.

Botón

Descripción

Format

Haga clic en este botón para aplicar formato (como sangría, salto de línea y resaltado de palabras clave) a las instrucciones SQL seleccionadas o a todas las de la ventana SQL actual.

Find and Replace

Haga clic en este botón e introduzca texto en el campo de búsqueda para localizar contenido específico. Luego, escriba texto en el campo de reemplazo para sustituir el contenido encontrado.

Undo

Haga clic en este botón para deshacer la última operación.

Redo

Haga clic en este botón para revertir una operación de Undo.

Case Sensitivity

El sistema admite tres opciones de capitalización: All Caps, All Lowercase y Capitalize First Letter. Haga clic en la opción correspondiente para convertir las instrucciones seleccionadas del script al formato de capitalización deseado.

Indent

Permite agregar sangrías o eliminar sangrías de las instrucciones seleccionadas.

Comments

Haga clic en Add Comments para convertir las instrucciones seleccionadas en comentarios, o en Delete Comment para transformar los comentarios en instrucciones SQL.

IN Value Conversion

Un formato como A B se puede convertir al formato ('A','B').

Puede editar las instrucciones SQL del procedimiento almacenado creado en la página Create Stored Procedure. Sintaxis:

CREATE PROCEDURE proc_name (
  [proc_parameter[,...]])
IS
BEGIN
proc_body:
  Valid SQL routine statement
END [end_label]

Parámetros

Parámetro

Descripción

proc_name

El nombre del procedimiento almacenado. De forma predeterminada, se crea en la base de datos actual. Para crearlo en una base de datos específica, agregue el nombre de esta como prefijo al nombre del procedimiento, con el formato db_name.sp_name.

Nota

El nombre de un procedimiento almacenado debe ser distinto al de cualquier función integrada de MySQL. De lo contrario, podría producirse un error.

[proc_parameter[,…] ]

La lista de parámetros del procedimiento almacenado. Un parámetro se especifica con el formato `[IN

proc_body

El cuerpo del procedimiento almacenado, que contiene las instrucciones SQL que se ejecutarán cuando se llame al procedimiento.

El cuerpo comienza con BEGIN y termina con END. Si contiene solo una instrucción SQL, puede omitir los marcadores BEGIN y END.

Paso 5: Finalice la creación del procedimiento almacenado.

Haga clic en Create en la esquina superior derecha para crear el procedimiento almacenado. Una vez creado, puede utilizar la instrucción CALL para llamarlo, igual que lo haría con una función integrada.

5.1

Nota

Para gestionar un procedimiento almacenado, haga clic derecho sobre su nombre en el panel de navegación izquierdo y seleccione la operación requerida en el menú contextual, que ofrece las siguientes opciones: View, Create, Edit, Run, Download, Delete y Refresh.

Para obtener más información, consulte Manage stored procedures.

Sintaxis:

CALL proc_name ([proc_parameter [,...]]);

Ejemplo:

CALL proc_total (30000, 20000);

5.2