ProcedimientosA

Páginas: 7 (1591 palabras) Publicado: 23 de octubre de 2015
Procedimientos Almacenados en MySQL
Las bases de datos de MySQL soportan procedimientos almacenados. Un procedimiento almacenado es una subrutina almacenada en el catálogo de la base de datos. Las aplicaciones pueden llamar y ejecutar el procedimiento almacenado. La sentencia de SQL CALL se usa para ejecutar un procedimiento almacenado.
Parámetros
Los procedimientos almacenados pueden tenerparámetros IN, INOUT y OUT, dependiendo de la versión de MySQL. La interfaz mysqli no tiene una noción especial de los diferentes tipos de parámetros.
Parámetro IN
Los parámetros de entrada son proporcionados con la sentencia CALL. Asegúrese de que los valores están escapados correctamente.

Pues bien, lo primero que explicaré será el comando DROP PROCEDURE IF EXISTS, este comando sirve para eliminarel PA si previamente existe (NOTA: este debe ser agregado antes del DELIMETER), esto es útil por ejemplo cuando estamos modificando nuestro PA y necesitamos estar actualizandolo constantemente, la sintaxis sería así:
1. DROP PROCEDURE IF EXISTS myProcedure;
Bien, una vez visto eso, el siguiente comando que veremos será el DELIMETER, se refiere a escribir un delimitador para nuestras consultas SQL,este delimitador se debe específicar cuando vamos a tener varias consultas dentro de nuestro PA para decirle a MySQL que todo lo que este dentro de ese delimitador formará parte de ese PA, tu puedes elegir cualquier delimitador, pero entre los más comunes están:
1. DELIMETER //
2. ....
3. //
O bien:
1. DELIMETER $$
2. ....
3. $$
Después de escribir nuestro delimitador, vamos a crearnuestro PA con el comando CREATE PROCEDURE, cuya sintaxis debe ser así:
1. CREATE PROCEDURE myProcedure({[PARAMS]})
2. BEGIN
3. ....
4. END
Sin duda muchos verán que esto es similar a cuando programabas en Pascal o un lenguaje prehístorico dónde tenías que específicar los bloques de INICIO y FIN, y los parámetros aquí son opcionales.
Parámetros
Cuando creamos un nuevo PA los parámetros sonopcionales y sin duda estos son de gran ayuda cuando necesitamos pasar algunos valores, la forma de específicar estos parámetros es la siguiente:
1. CREATE PROCEDURE myProcedure(
2. IN _language VARCHAR(2),
3. IN _page INT,
4. IN _max INT)
5. BEGIN
6. ....
7. END
Cuando son muchos parámetros una buena técnica de separación y para poder ordenar y ver mejor los parámetros es dar un enter a cadauno y separarlos por comas (,). La sintaxis para estos parámetros es simplemente escribir el comando IN seguido del nombre del parámetro (recomiendo poner guiones bajos al principio de cada parámetro, leer la explicación en el siguiente párrafo) y después específicar su tipo (INT, VARCHAR, TINYINT, etc.).

Declaración de variables
Cuando creamos un PA en MySQL esté nos permite crear variables parapoder asignarles algún valor e inclusive hacer ciertas validaciones, para declarar una variable se debe utilizar el comando DECLARE, una recomendación personal es que todas las variables que vayas a crear en tu PA les antepongas un guión bajo (_) y además utilices la técnica de camelCase, esto se debe a que muchas veces utilizamos variables con nombres genéricos que pudieran ser palabras reservadasde MySQL y esto nos puede causar problemas sin que nos demos cuenta en un principio y es muy complicado encontrarlos, por ejemplo si declaramos la variable "status", nos puede causar conflicto puesto que STATUS es una palabra reservada que utiliza MySQL como comando, en este caso para ver los PAs existentes con SHOW PROCEDURE STATUS, este caso lo mejor sería declararla como "_status" y noslibramos de problemas, unos ejemplos de variables serían:
1. DECLARE _start INT DEFAULT 0;
2. DECLARE _limit1 INT DEFAULT 0;
3. DECLARE _limit2 INT DEFAULT 0;
4. DECLARE _language VARCHAR(2) DEFAULT 'en';
Una vez que hemos declarado nuestras variables si necesitamos asignarle algún valor diferente en algún punto de nuestro código podemos utilizar el comando SET, de la siguiente manera:
1. IF _page >...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Procedimient
  • Procedimient o para construccion de un modelo en pipesim.
  • Procedimient optimo
  • alertas invimas procedimient
  • Procedimient Administrativo De Ejecucion
  • Procedimient o de calibracion iso

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS