
Un procedimiento es una unidad o módulo que realiza una tarea específica. Este procedimiento puede combinarse para formar programas más grandes. Esto básicamente forma el ‘Diseño Modular’. Un procedimiento puede ser invocado por otro procedimiento que se llama programa de llamada.
Los procedimientos son bloques de procesamiento reutilizables con una secuencia específica de transformación de datos. El procedimiento puede tener parámetros de entrada/salida múltiples. El procedimiento se puede crear como de solo lectura o de lectura/escritura.
Un procedimiento de SQL se puede crear en:
La sintaxis del procedimiento almacenado en SAP HANA es la siguiente:
SINTAXIS
CREATE PROCEDURE <proc_name> [(<parameter_clause>)] [LANGUAGE <lang>] [SQL SECURITY <mode>] [DEFAULT SCHEMA <default_schema_name>] [READS SQL DATA [WITH RESULT VIEW <view_name>]] AS {BEGIN [SEQUENTIAL EXECUTION] <procedure_body> END | HEADER ONLY }
La instrucción CREATE PROCEDURE crea un procedimiento utilizando el lenguaje de programación mencionado <lang>.
ELEMENTOS | DESCRIPCIÓN |
---|---|
<proc_name> | Nombre del procedimiento |
<parameter_clause> | El parámetro se define aquí. Hay parámetros IN, OUT, INOUT. Cada parámetro se marca con las palabras clave IN/OUT/INOUT
• IN – Usado para pasar valor al procedimiento como entrada. Es un parámetro de solo lectura. • OUT – Usado para devolver valor desde el procedimiento como salida. • INOUT – Usado para pasar y devolver valor al procedimiento mediante el mismo parámetro. |
LANGUAGE <Lang> | Define el lenguaje de programación utilizado en el procedimiento. Por defecto: SQLSCRIPT |
SQL SECURITY <mode> | Especifica el modo de seguridad del procedimiento. Por defecto: DEFINER
• DEFINER – Especifica que la ejecución del procedimiento se realiza con los privilegios del definidor del procedimiento. • INVOKER – Especifica que la ejecución del procedimiento se realiza con los privilegios del invocador del procedimiento. |
<default_schema_name> | Define el esquema para objetos no calificados en el cuerpo del procedimiento. Si no se define nada, se utiliza el esquema actual de la sesión para el procedimiento. |
READS SQL DATA | Marca el procedimiento como de solo lectura, lo que significa que el procedimiento no modifica los datos de la base de datos ni su estructura y que el procedimiento no contiene instrucciones DDL o DML. Este procedimiento solo llama a otros procedimientos de solo lectura. |
WITH RESULT VIEW <view_name> | Define la vista de resultados que se utilizará como salida de un procedimiento de solo lectura. Si se especifica una vista de resultados para un procedimiento, entonces puede ser llamada por una declaración SQL en el mismo proceso como una tabla o vista. |
SEQUENTIAL EXECUTION | Esta declaración forzará la ejecución secuencial de la lógica del procedimiento. No hay paralelismo. |
<procedure body> | Define el cuerpo principal del procedimiento basado en el lenguaje de programación seleccionado. |
HEADER ONLY | Si se usa solo el encabezado, solo se crearán las propiedades del procedimiento con OID. |
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073