2. DEFINICIÓN
• Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que
pueden ser llamados usando el nombre que se le haya asignado. Estos pueden
hacer referencia a tablas, vistas, a funciones definidas por el usuario, a otros
procedimientos almacenados.PL/SQL (Procedural Language/Structured Query
Language) es lenguaje que permite definir procedimientos utilizando sentencias
SQL. Es el lenguaje de programación estructurado de las bases de datos Oracle.
3. VENTAJAS
• Simplifican la ejecución de tareas repetitivas.
• - Corren mas rápido que las mismas instrucciones ejecutadas en forma interactiva. -
Reducen el trafico a través de la red.
• - Pueden capturar errores antes que ellos puedan entrar a la base de datos.
• - Establece consistencia porque ejecuta las tareas de la misma forma.
• - Permite el desarrollo modular de aplicaciones.
• Ayuda a proveer seguridad.
• - Puede forzar reglas y defaults complejos de los negocios.
4. DESVENTAJAS
• Aumentan el uso de la memoria: si usamos muchos procedimientos almacenados, el uso de la
memoria de cada conexión que utiliza esos procedimientos se incrementará sustancialmente.
• Restringidos para una lógica de negocios compleja: en realidad, las construcciones de
procedimientos almacenados no están diseñadas para desarrollar una lógica de negocios
compleja y flexible.
• Difíciles de depurar. Es difícil depurar procedimientos almacenados. Solo unos pocos sistemas
de administración de bases de datos permiten hacerlo.
• Difíciles de mantener: no es fácil desarrollar y mantener procedimientos almacenados. El
desarrollo y mantenimiento de procedimientos almacenados a menudo requiere un conjunto
de habilidades especializadas que no todos los desarrolladores de aplicaciones poseen.
5. • Crear y borrar procedimientos almacenados
• - Sintaxis de creación: CREATE PROCEDURE nombre_procedimiento (IN
parametros) BEGIN Sentencias.
• END Ejemplo: CREATE PROCEDURE `prueba`.`ps_verpais`() BEGIN SELECT * FROM
pais; END$$
• - Sintaxis de borrado: DROP PROCEDURE nombre_procedimiento
6. • Ejemplo: DROP PROCEDURE ps_verpais
• Ejemplo: - mysql> delimiter //
• mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) - -> BEGIN - ->
SELECT COUNT(*) INTO param1 FROM t; - -> END - -> //
• - Query OK, 0 rows affected (0.00 sec) - mysql> delimiter ;