Todos los productos
Search
Centro de documentos

ApsaraDB for OceanBase (Deprecated):Crear una función

Última actualización: Sep 18, 2026

ODC admite la creación visual de funciones. Este tema describe cómo crear una función con ODC.

Descripción general

Una función es un subprograma definido en una base de datos. Las funciones se invocan mediante sentencias SQL integradas. Si las funciones integradas no cubren sus requisitos de negocio, OceanBase Developer Center (ODC) le permite crear funciones propias. Estas funciones personalizadas facilitan cálculos y operaciones especiales, además de reducir la redundancia del código para mejorar su legibilidad.

Una función es un objeto procedimental similar a un procedimiento almacenado dentro de una base de datos. Al igual que este último, consiste en un fragmento de código con sentencias SQL y procedimentales. Tanto las aplicaciones como otras sentencias SQL pueden invocarla.

Diferencias entre una función definida por el usuario y un procedimiento almacenado:

  • La función devuelve un solo resultado, por lo que resulta adecuada para procesamientos de datos que generan un único valor. El procedimiento almacenado puede devolver cero o varios resultados, lo cual es útil para inserciones y actualizaciones masivas.

  • Una función se invoca con una sentencia SELECT, mientras que un procedimiento almacenado requiere la sentencia CALL.

Create a function 1

Como se muestra en la figura anterior, la creación de una función consta de los siguientes seis pasos:

  1. Specify the function name.

  2. Specify the data type of the return value.

  3. Specify parameters.

  4. Confirm to Create Function.

  5. Edit function information.

  6. Complete the function creation.

Procedimiento

En el siguiente ejemplo se crea la función function_emp desde la consola de ODC. Su propósito es obtener el nombre de un empleado a partir de su identificador en una tabla de empleados. Esta función incluye el parámetro id, de tipo INT. A continuación se detalla el procedimiento:

Paso 1: Especificar el nombre de la función

Inicie sesión en ODC y haga clic en el nombre de una conexión para acceder a la página de gestión correspondiente. En el panel de navegación izquierdo, haga clic en Function para consultar la lista de funciones. Para crear una nueva, haga clic en el signo + ubicado en la esquina superior derecha de dicha lista o seleccione Create en la barra de navegación superior.

Create a function 2

Paso 2: Especificar el tipo de dato del valor de retorno

Para más información sobre los tipos de datos, consulte OceanBase Database Developer Guide.

Paso 3: Especificar los parámetros

  1. Los parámetros definen la información que se pasa a la función durante su invocación.

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

    • En modo MySQL, especifique los siguientes campos: Name, Type y Length.

  2. Existen tres métodos para especificar los parámetros.

    Método

    Descripción

    Uso de la barra de herramientas de acceso rápido

    Esta barra permite agregar, eliminar y reordenar los parámetros hacia arriba o hacia abajo.

    Hacer clic en el número de fila

    • Al hacer clic en un número de fila, esta se selecciona y aparece la barra de herramientas de acceso rápido. Desde ahí puede eliminarla o moverla hacia arriba o hacia abajo.

    • También puede seleccionar la fila mediante su número y arrastrarla para ajustar el orden.

    Hacer clic con el botón derecho

    • Copiar una fila o moverla hacia abajo: arrastre el puntero para seleccionar la fila, haga clic con el botón derecho y elija Copy o Move Down en el menú contextual.

    • Copiar una celda: selecciónela, haga clic con el botón derecho y elija Copy en el menú contextual.

  3. Es necesario especificar el modo de los parámetros.

    La configuración del modo de parámetro no está disponible en modo MySQL. El modo Oracle admite los siguientes modos: IN, OUT e INOUT.

    Modo

    Descripción

    IN

    Representa un parámetro de entrada. Cuando se invoca la función, este valor se le transfiere y se utiliza durante su ejecución.

    OUT

    Representa un parámetro de salida. Durante la invocación, su valor original se ignora y se pasa un valor vacío a la función. Dentro del cuerpo de la función, este parámetro se puede modificar. El resultado modificado se devuelve al argumento que representa dicho parámetro.

    INOUT

    Representa un parámetro de entrada y salida, ya que cumple ambas funciones simultáneamente.

    Nota

    En modo Oracle, tanto las funciones como los procedimientos almacenados admiten los modos IN, OUT e INOUT. En modo MySQL, las funciones solo admiten el modo IN, mientras que los procedimientos almacenados admiten IN, OUT e INOUT.

Paso 4: Confirmar la creación de la función

Haga clic en OK para acceder a la página Create Function.

Paso 5: Editar la información de la función

Create a function 3

Edite la sentencia de la función en la página Create Function.

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

Botón

Descripción

Format

Haga clic en este botón para aplicar formato —como sangría, saltos de línea y resaltado de palabras clave— a las sentencias 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. Use el campo de reemplazo para sustituir el texto 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 ofrece tres opciones de capitalización: All Caps, All Lowercase y Capitalize First Letter. Haga clic en la opción deseada para convertir las sentencias seleccionadas del script al formato correspondiente.

Indent

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

Comments

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

IN Value Conversion

Convierte un formato como A B al formato ('A','B').

Las sentencias SQL de la función creada se editan directamente en la página Create Function. Sintaxis:

CREATE FUNCTION < function name > ([ <parameter 1> <type 1> [ , <parameter 2> <type 2>] ] …) 
RETURNS < type > 
< function body >

Parámetros:

Parámetro

Descripción

<function name>

El nombre de la función definida por el usuario.

Importante

El nombre de una función definida por el usuario no puede coincidir con el de un procedimiento almacenado.

<parameter><type>

Los parámetros de la función.

Este campo solo incluye el nombre y el tipo. No es posible especificar las palabras clave IN, OUT ni INOUT.

RETURNS<type>

El tipo de dato del valor de retorno. <type> define dicho tipo de dato.

Importante

La sentencia SELECT dentro de una instrucción RETURN VALUE devuelve únicamente un valor de una sola fila y una sola columna.

<function body>

El cuerpo de la función definida por el usuario.

Debe contener la sentencia RETURN <value>, donde <value> indica el valor de retorno de la función.

Ejemplo:

CREATE FUNCTION `function_emp` ( `id` int(45)) RETURNS VARCHAR(300) 

-- The start of the function body.
BEGIN

-- Declare a variable.
DECLARE
  a VARCHAR(300);

-- Assign a value to the variable.
SELECT
  name INTO a
FROM
  employee
WHERE
  emp_no = id;

-- Specify the return value.
RETURN a;

-- The end of the function body.

END

Paso 6: Finalizar la creación de la función.

Haga clic en Create en la esquina superior derecha para crear la función. Una vez creada, puede invocarla con la palabra clave SELECT, de la misma forma que lo haría con una función integrada.

Nota

Para gestionar una función, haga clic con el botón derecho en su nombre dentro del panel de navegación izquierdo y seleccione la operación requerida en el menú contextual. Este menú ofrece las siguientes opciones: View, Create, Edit, Compile, Debug, Run, Download, Delete y Refresh.

Para más información, consulte Manage functions.

Sintaxis:

SELECT <function name> ([<parameter> [,...]])

Ejemplo:

SELECT function_emp(2);
  • Modo MySQL

    Create a function 4

  • Modo Oracle

    Create a function

    Importante

    • En modo Oracle, si una función definida por el usuario contiene un parámetro OUT, debe invocarla mediante la sentencia CALL.

    • Un ícono amarillo Alert en la lista de funciones indica un error o una alerta.

Temas relacionados