CREATE [OR REPLACE] PROCEDURE nombre_procedimiento ([parametros])
IS
[zona de declaraciones]
BEGIN
[zona de ejecución]
EXCEPTION
[zona de excepciones]
END nombre_procedimiento;
Como podéis ver, el procedimiento está dividido en diferentes secciones:
- Parámetros: a la hora de crear un procedimiento almacenado de Oracle, podemos declarar parámetros de diferentes tipos (NUMBER, VARCHAR, etc) y estos pueden ser de entrada (IN), salida (OUT) o incluso de entrada y salida (INOUT).
- IN: Se utiliza como un parámetro de entrada para el procedimiento almacenado. No se puede cambiar la información de este parámetro dentro del procedimiento.
- OUT: Se utiliza como parámetro de salida en el procedimiento almacenado. Se puede cambiar la información de este parámetro dentro del procedimiento.
- INOUT: Se utiliza como parámetro de entrada y de salida. Se puede cambiar la información de este parámetro dentro del procedimiento.
- Zona de declaraciones: utilizaremos esta sección del procedimiento para declarar las variables que necesitemos utilizar en el procedimiento.
- Zona de ejecución: en esta sección va la lógica del procedimiento, es decir, la parte de la aplicación que se ejecutará.
- Zona de excepciones: se utiliza para el tratamiento de excepciones del procedimiento.
Una vez explicada la sintaxis, veremos un ejemplo muy sencillo:
CREATE OR REPLACE PROCEDURE SUMA_NUMEROS (primer_numero IN NUMBER, segundo_numero IN NUMBER, resultado OUT NUMBER)
IS
BEGIN
resultado:=primer_numero+segundo_numero;
END;
En este procedimiento almacenado, simplemente le daremos 2 números (primer_numero y segundo_numero), realizamos una suma y devolvemos el resultado. Destacar que primer_numero y segundo_numero son parámetros de entrada (IN) y que resultado es un parámetro de salida (OUT).
Para poder llamar a este procedimiento y probarlo, podemos hacer lo siguiente:
DECLARE
resultado int;
BEGIN
SUMA_NUMEROS(20,30,resultado);
dbms_output.put_line('Resultado de la suma: ' || resultado);
END;
En esta llamada, le indicamos que queremos sumar los números 20 y 30. Por ello, ejecutando estas últimas líneas podremos ver por el "output" el siguiente texto: "El resultado de la suma: 50".
Esperamos que con este sencillo ejemplo haya quedado claro cómo crear un procedimiento almacenado en Oracle.
Comments
8 Responses to “ Crear procedimiento almacenado Oracle ”
Post a Comment | Enviar comentarios ( Atom )
al ejecutar ese codigo solo me manda esto
4 de noviembre de 2012, 0:03PL/SQL procedure successfully completed.
no me manda el resultado
Yo uso TOAD, y en el TOAD tenes que irte a la pestaña DBMS Output y pones en verde el botón TURN OUTPUT y en POLLING FREQUENCY(SECONDS) le pones 1 y listo, a mi me funcionó
3 de enero de 2013, 18:39como lo puedo mandar a llamar desde php
14 de febrero de 2013, 17:17como puedo llamar el procedimiento desde php
14 de febrero de 2013, 17:17al ejecutar ese codigo solo me manda esto
31 de mayo de 2013, 8:38PL/SQL procedure successfully completed.
no me manda el resultado
te sale eso una vez..creado el procedimiento..una vez creado le tienes que llamar..que es la siguiente linea de codigo que te indican..
saludos!
al ejecutar ese codigo solo me manda esto
31 de mayo de 2013, 8:38PL/SQL procedure successfully completed.
no me manda el resultado
te sale eso una vez..creado el procedimiento..una vez creado le tienes que llamar..que es la siguiente linea de codigo que te indican..
saludos!
amigo te falta la siguiente line SET serveroutput ON
14 de noviembre de 2013, 21:48tengo un procedimiento que retorna un varchar2 pero cuando resivo el parametro en c# el valor retornado no es completo lo recorta
22 de abril de 2016, 17:34Publicar un comentario
Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.