Procedimientos almacenados
-
Upload
jorge-paredes-toledo -
Category
Engineering
-
view
44 -
download
0
Transcript of Procedimientos almacenados
![Page 1: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/1.jpg)
PROCEDIMIENTOS ALMACENADOS
BASE DE DATOS I
-Jorge Paredes Toledo-Clever Villegas Burga
![Page 2: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/2.jpg)
DEFINICIÓN
Es un programa (o procedimiento) almacenado físicamente en una base de datos. Su
implementación varía de un gestor de base de datos a otro.
un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.
VENTAJA
![Page 3: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/3.jpg)
Create Procedure Y Create Function
![Page 4: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/4.jpg)
Alter Procedure Y Alter Function
Drop Procedure Y Drop Function
SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION
SHOW PROCEDURE STATUS y SHOW FUNCTION STATUS
![Page 5: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/5.jpg)
La sentencia CALL
El comando CALL invoca un procedimiento definido préviamente con CREATE PROCEDURE.
CALL puede pasar valores al llamador usando parámetros declarados como OUT o INOUT .
También “retorna” el número de registros afectados, que con un programa cliente puede obtenerse a nivel SQL llamando la función ROW_COUNT() y desde C llamando la función de la API C mysql_affected_rows().
Sintaxis
![Page 6: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/6.jpg)
La sintaxis BEGIN ... END se utiliza para escribir sentencias compuestas que pueden aparecer en el interior de procedimientos almacenados y triggers.
Sentencia compuesta BEGIN ... END[etiqueta_inicio:] BEGIN [lista_sentencias]END [etiqueta_fin]
Sentencia DECLARE
![Page 7: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/7.jpg)
ADMINISTRACIÓN DE
PROCEDIMIENTOS
![Page 8: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/8.jpg)
CREACION:
MODIFICACION:
ELIMINACIÓN:
![Page 9: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/9.jpg)
EJEMPLOS
Si el comando RETURN en un procedimiento almacenado retorna un valor con un tipo distinto al especificado en la cláusula RETURNS de la función, el valor de retorno se coherciona al tipo apropiado. Por ejemplo, si una función retorna un valor ENUM o SET, pero el comando RETURN retorna un entero, el valor retornado por la función es la cadena para el miembro de ENUM correspondiente de un conjunto de miembros SET.
![Page 10: Procedimientos almacenados](https://reader037.fdocuments.ec/reader037/viewer/2022083116/58a0ad6f1a28ab75368b4c47/html5/thumbnails/10.jpg)
Los procedimientos almacenados son un conjunto de instrucciones SQL más una serie de estructuras de control que nos permiten dotar de cierta lógica al procedimiento. Estos procedimientos están guardados en el servidor y pueden ser accedidos a través de llamadas.
Para crear un procedimiento, SQL nos ofrece la directiva CREATE PROCEDURE. Para llamar a un procedimiento lo hacemos mediante la instrucción CALL. Desde un procedimiento podemos invocar a su vez a otros procedimientos o funciones.