 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
 Create Procedure Y Create Function
 Alter Procedure Y Alter Function
 Drop Procedure Y Drop Function
 SHOW CREATE PROCEDURE y SHOW
CREATE FUNCTION
 SHOW PROCEDURE STATUS y SHOW
FUNCTION STATUS
 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().
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
CREACION:
MODIFICACION:
ELIMINACIÓN:
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.
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.

Procedimientos almacenados

  • 2.
     DEFINICIÓN Es unprograma (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
  • 3.
     Create ProcedureY Create Function
  • 4.
     Alter ProcedureY Alter Function  Drop Procedure Y Drop Function  SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION  SHOW PROCEDURE STATUS y SHOW FUNCTION STATUS
  • 5.
     La sentenciaCALL  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().
  • 6.
    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
  • 8.
  • 9.
    EJEMPLOS Si el comandoRETURN 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.
  • 10.
    Los procedimientos almacenadosson 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.