MariaDB comenzando con 10.3.5

Los paquetes estilo Oracle se introdujeron en Maria DB 10.3.5.

Sintaxis

CREATE[ORREPLACE][DEFINER= CURRENT_USER]
    PACKAGE [IFNOTEXISTS][ db_name .] package_name
    [ package_characteristic ...]
 AS
    [ package_specification_element ...]END[ package_name ]


package_characteristic:
    COMMENT'string'|SQL SECURITY  DEFINER


package_specification_element:
    FUNCTION_SYM package_specification_function ;| PROCEDURE_SYM package_specification_procedure ;


package_specification_function:
    func_name [( func_param [, func_param]...)]RETURNS func_return_type
    [ package_routine_characteristic...]

package_specification_procedure:
    proc_name [( proc_param [, proc_param]...)][ package_routine_characteristic...]

func_return_type:
    type

func_param:
    param_name type

proc_param:
    param_name INOUT typetype:
    Any valid MariaDB explicit or anchored datatype


package_routine_characteristic:
      COMMENT'string'|LANGUAGESQL|  CONTAINSSQL
    |SQL SECURITY INVOKER 

Descripción

Él CREATE PACKAGE La declaración se puede utilizar cuando se establece Oracle SQL_MODE.

Él CREATE PACKAGE crea la especificación para un paquete almacenado (una colección de objetos almacenados lógicamente relacionados). Una especificación de paquete almacenado declara rutinas públicas (procedimientos y funciones) del paquete, pero no implementa estas rutinas.

Un paquete cuya especificación fue creada por el CREATE PACKAGE debe implementarse más tarde mediante la instrucción CREATE PACKAGE BODY.

Ejemplos

SET sql_mode=ORACLE;DELIMITER $$
CREATEORREPLACE PACKAGE employee_tools ASFUNCTION getSalary(eid INT)RETURNDECIMAL(10,2);PROCEDURE raiseSalary(eid INT, amount DECIMAL(10,2));PROCEDURE raiseSalaryStd(eid INT);PROCEDURE hire(ename TEXT, esalary DECIMAL(10,2));END;
$$
DELIMITER;

Ver también

  • CREAR CUERPO DEL PAQUETE
  • MOSTRAR CREAR PAQUETE
  • DEJAR PAQUETE
  • Oracle SQL_MODE

El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido por adelantado. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o cualquier otra parte.