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.

lunes, 27 de octubre de 2014

Aprendiendo .Net: Parte I

Desde hace un tiempo, he querido aprender otro lenguaje de programacion que no sea PHP. No es que sea experto en el lenguaje, pero ya hace un tiempo que programo en precitado lenguaje, y siendo sincero veo que lo salarios son mejores para quienes son 'poliglotas' en cuanto a lenguajes de programacion.

Asi que decidi aprender .Net, y mas especificamente C#. En la web existe mucha, mucha, informacion, pero, como aprendi HTML y PHP con la vieja escuela, he decido  usar un IDE no tan famoso y popular como Visual Studio, y dejar a un lado el SQL Server e irme por un motor de base de diferente.


Es por eso que he usado el editor sharpdevelop y el mas conocido y mas aun confiable SGBD Oracle.
Como servidor he usado IIS-Express. Esto porque a pesar de todos mis esfuerzos y busqueda en foros, es la tercera o cuarta vez que intento instalarlo en mi PC y no se porque pero no me funciona!!!!   esa es otra batalla que estare dando y espero salir vencedor... de momento seguire aprendiento .Net con lo que tengo :P










sábado, 13 de septiembre de 2014

Llamado a un procedimiento en Oracle

Continuando con mi repaso de PL\SQL, quise realizar un procedimiento que reciba un parametro y lo muestre en pantalla. Pues bien, todo es mas facil de lo que se piensa, al menos eso me ocurrio a mi :P.

Estoy usando SQL Developer, gran herramienta que no queria usar en un principio, pero que poco a poco la he tomado en serio, pues ha facilitado mi trabajo, por sus muchas funciones y herramientas. Al grano.


Este es mi procedimiento, el cual recibe un dato de tipo varchar2 que se supone es el nombre de la persona que llama el procedimiento, calcula la fecha actual y para finalizar, muestra un mensaje, saludando a la persona y mostrando la fecha.


Varias cosas a tener en cuenta, los nombres de las variables estan en mayusculas, minusculas y demas combinaciones; esto se debe a que quise probar que PL\SQL no diferencia entre mayusculas y minusculas.
Tambien se podra notar que en la lista de procedimientos esta list_a_rating, para quienes leemos la documentacion de oracle, les sera familiar. Lo confienso, tambien me guie por ese tutorial.


Luego, ejecutamos en la hoja de trabajo el procedimiento:


Y  si todo es correcto obtendremos como resultado la frase "hola xxxx, la fecha es yyyy".
En mi caso, la fecha es 14 de sep del 2014, lo cual me hace caer en cuenta que ya es tarde y debo dormir.
Espero que sirva de algo.
un saludo



martes, 1 de abril de 2014

Hola mundo en PL\SQL

Hace casi cuatro años que no realizaba programas en PL\SQL. Recordando, empece con el famoso "Hola Mundo".

Pues bien, es muy fácil. Este es el codigo que he empleado para tal fin:


BEGIN
 DBMS_OUTPUT.PUT_LINE('Hola mundo');
END;

El resultado obtenido fue

bloque anónimo terminado


vaya que sorpresa!!! faltaba algo, que puede tomar un tiempo, si no buscas bien.


faltaba esta linea:

SET SERVEROUTPUT ON

asi que mi codigo quedo asi:

SET SERVEROUTPUT ON
BEGIN
 DBMS_OUTPUT.PUT_LINE('Hola mundo'); 
END;


de esta forma, al ejecutar de nuevo mi bloque de PL\SQL obtuve:


bloque anónimo terminado
Hola mundo

Fácil.... muy fácil. Ahora, continuare recordando este potente lenguaje que Oracle nos ha facilitado. A medida que tenga tiempo (vea pues tan ocupado) realizare otro apunte, que espero no sea solo útil para mi sino para los demás.

martes, 15 de octubre de 2013

PHP: Programacion Orientada a Objetos Basica I

Aunque algunas personas que conozco, consideran que PHP es un lenguaje muy simple, y sin "potencia", los que programamos en PHP sabemos que en realidad no es asi.

Dentro de las caracteristicas que tiene PHP, esta el soporte para la programacion orientada a objetos. Este es un paradigma de programacion en el que se abstrae el mundo real, y todo se realiza con objetos.

La base de la POO son las clases. Una clase no es mas que un programa en PHP que tiene atributos y metodos.  Los atributos definen un estado y los metodos el comportamiento.


<?php
class saludo
{
var $saludo;
public function saludar()
{
echo "El saludo es ".$this->saludo;
}
}
?>

phpinfo()

phpinfo es una funcion de PHP que permite obtener informacion acerca de como se tiene configurado PHP en el servidor que se ejecute.


sábado, 17 de agosto de 2013

Saludo

La idea de este blog, es crear una serie de articulos utiles de mis conocimientos tecnicos, y etiquetarlos, para poder encontrarlos facilmente cuando los llegue a necesitar.
Comencemos pues.....