Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


procesos almacenados, Apuntes de Programación de Bases de Datos

ingeniera tatiana de base de datos 2

Tipo: Apuntes

2022/2023

Subido el 24/09/2023

kleber-v-muruchi
kleber-v-muruchi 🇧🇴

5

(1)

3 documentos

1 / 3

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA
CARRERAS DE INFORMATICA Y SISTEMAS
TALLER DE BASE DE DATOS
SEMESTRE 1-2022
PROCEDIMIENTOS ALMACENADOS EN MYSQL
Poco a poco las empresas y muchas personas en general empiezan a mirar más hacia el Software Libre
y se dan cuenta que existen excelentes alternativas a distintos programas que para ellos son de uso
frecuente en otro Sistema Operativo, como pueden ser OpenOffice, Mozilla Firefox, Eclipse, PostgreSQL,
PHP y MySQL por citar algunos, en esta nota hablaré un poco del Manejador de Bases de datos MySQL,
que en los últimos años ha tenido grandes avances en su desarrollo y actualmente es uno de los DBMS
más usados en sitios web y que en sus últimas versiones ha incorporado nuevas características como la
implementación de las tablas InnoDB, disparadores, replicación, funciones y procedimientos
almacenados.
Uso de los procedimientos almacenados
Los procedimientos almacenados son de gran utilidad para realizar tareas frecuentes en una base de
datos, es sorprendente la cantidad de tiempo que se puede llegar a ahorrar al hacer uso de este
mecanismo.
La sintaxis general (tomada del manual oficial) para crear un procedimiento almacenado es:
CREATE PROCEDURE nombre_del_procedimiento ([parámetros[,...]])
[characteristic ...] cuerpo
la sintaxis para especificar los parámetros es:
[ IN | OUT | INOUT ] nombre_del_parametro tipo_de_dato
IN, indica que el parámetro es sólo de entrada, OUT que es una variable de salida y INOUT que es de
ambas formas, si no se especifica el modo del parámetro por defecto es de tipo IN.
Ejemplos:
Antes que nada necesitamos crear una base de datos a la cual estarán asociados los procedimientos:
CREATE DATABASE pruebas;
Seleccionamos nuestra base recién creada:
USE pruebas;
Un ejemplo sencillo de un procedimiento que calcule el cuadrado de un número sería:
pf3

Vista previa parcial del texto

¡Descarga procesos almacenados y más Apuntes en PDF de Programación de Bases de Datos solo en Docsity!

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA

CARRERAS DE INFORMATICA Y SISTEMAS

TALLER DE BASE DE DATOS

SEMESTRE 1- 2022

PROCEDIMIENTOS ALMACENADOS EN MYSQL

Poco a poco las empresas y muchas personas en general empiezan a mirar más hacia el Software Libre y se dan cuenta que existen excelentes alternativas a distintos programas que para ellos son de uso frecuente en otro Sistema Operativo, como pueden ser OpenOffice, Mozilla Firefox, Eclipse, PostgreSQL, PHP y MySQL por citar algunos, en esta nota hablaré un poco del Manejador de Bases de datos MySQL, que en los últimos años ha tenido grandes avances en su desarrollo y actualmente es uno de los DBMS más usados en sitios web y que en sus últimas versiones ha incorporado nuevas características como la implementación de las tablas InnoDB, disparadores, replicación, funciones y procedimientos almacenados. Uso de los procedimientos almacenados Los procedimientos almacenados son de gran utilidad para realizar tareas frecuentes en una base de datos, es sorprendente la cantidad de tiempo que se puede llegar a ahorrar al hacer uso de este mecanismo. La sintaxis general (tomada del manual oficial) para crear un procedimiento almacenado es: CREATE PROCEDURE nombre_del_procedimiento ([parámetros[,...]]) [characteristic ...] cuerpo la sintaxis para especificar los parámetros es: [ IN | OUT | INOUT ] nombre_del_parametro tipo_de_dato IN , indica que el parámetro es sólo de entrada, OUT que es una variable de salida y INOUT que es de ambas formas, si no se especifica el modo del parámetro por defecto es de tipo IN. Ejemplos: Antes que nada necesitamos crear una base de datos a la cual estarán asociados los procedimientos: CREATE DATABASE pruebas; Seleccionamos nuestra base recién creada: USE pruebas; Un ejemplo sencillo de un procedimiento que calcule el cuadrado de un número sería:

CREATE PROCEDURE cuadrado (IN numero INTEGER)

SELECT numero*numero;

Ahora que ya tenemos nuestro procedimiento creado lo invocamos usando la palabra reservada CALL , por ejemplo: CALL cuadrado( 5 ); como 'numero' es un parámetro de entrada este procedimiento no regresa ningún valor, para mostrar el uso de las variables que regresan algún dato, crearemos otro procedimiento: CREATE PROCEDURE cuadrado2 (IN numero INTEGER, OUT resultado INTEGER) SELECT numero*numero INTO resultado; al invocar este segundo procedimiento debemos hacerlo con dos parámetros, el primero es el número que queremos elevar al cuadrado y el segundo es una variable en la cual almacenaremos el resultado, las variables de usuario en MySQL deben comenzar con el caracter '@'. CALL cuadrado( 5 , @r); visualizamos el contenido de la variable @r: SELECT @r; podemos observar que el valor calculado dentro del procedimiento efectivamente corresponde al valor actual de la variable @r. Por último, les presento un ejemplo en el cual se muestra la utilidad que pueden llegar a tener los procedimientos almacenados al hacer inserciones, actualizaciones u otras tareas frecuentes que llevan varios pasos y que podemos sintetizar escribiendo un procedimiento e invocándolo tantas veces como sea necesario, especificando los parámetros correspondientes. creamos dos tablas para trabajar en ellas: CREATE TABLE tabla1 ( numero INTEGER PRIMARY KEY AUTO_INCREMENT, numero2 INTEGER, numero3 INTEGER); CREATE TABLE tabla2 ( numero INTEGER PRIMARY KEY, numero2 INTEGER, numero3 INTEGER); ahora un procedimiento que realiza una serie de cálculos e inserciones en la tabla; no explicaré lo que que hace ya que es bastante intuitivo, pero está documentada cada parte que se considera relevante.

cambia el delimitador por defecto ";" a "//"

esto es para poder escribir varias sentencias SQL sin que -