sábado, 13 de diciembre de 2014

Procedimientos Oracle: Parametros IN, OUT

Hace un tiempo que no escribo nada en mi blog; no por falta de tiempo ni porque no haya aprendido nada nuevo, sino por la pereza y la fuerza de voluntad... :P

En mi empresa, he sido cambiado de asignacion, y ahora debo aprender Struts y PL/SQL "en forma". La verdad no tengo miedo!!! y se me hace extraño ya que hace unos años ni podria dormir :S...
Y esta actitud se debe, a mi modo de ver, a que he aprendido que todo sale muy facil si se pone buena actitud.
Dejando a un lado mi filosofo y pscologo oculto y frustado continuo con lo que en verdad consiste este articulo.


Los procedimientos en Oracle son simplemente bloques de codigo que reciben parametros y retornan valores, esto con el fin de realizar operaciones con estos.


Existe mucha documentacion que se puede encontrar en internet de como crear un procedimiento. Asi que solo colocare el codigo de mi procedimiento; este consiste en dos parametros de entrada de tipo numerico, que seran sumados y retorna el resultado de la suma de estos.

create or replace PROCEDURE
SUMA(A NUMBER,B NUMBER, C OUT NUMBER)
IS
BEGIN
C := A+B;
END;

El llamado al procedimiento se realiza de la siguiente manera:

declare
resultado number;
begin
Suma(3,5,resultado);
Dbms_Output.Put_Line('El resultado de la suma es '||Resultado);
end;

Para este caso, el resultado  sera el siguiente:












A tener en cuenta...
Notese que se utiliza un parametro de salida, el cual es asignado a la variable "resultado" que tambien es de tipo number.

Aunque el ejemplo es trivial, puede ser usado como referencia para el manejo de procedimientos, tanto con parametros de entrada como de salida.