Marcando la diferencia

INTRODUCCION A PL/SQL EN ORACLE


VER DISCOVERY CHANNEL ON LINE

Oracle es el Administrador de Base de Datos más potente y más grande que se conoce en todo el mundo.  Es el administrador de información más rubusto y fiable que hasta ahora se conoce.  Superando a diferencias importantes a los otros sistemas y tecnologías.   Aunque existan sistemas administradores de bases de datos y de información y las que son de generaciones anteriores, muchas argumentaciones no válidas que dudan de la seguridad y capacidad transaccional de Oracle, no pueden demostrarlas. Incluso las de dominio público con algunas bases de datos sin costos para los desarrolladores y usuarios.

Si ven para donde se están apuntando la técnología Oracle en el mundo de la ingeniería ya sabrán que no les estamos diciendo solo por mencionar sin bases ciertas.  Pueden buscar en internet sobre los proyectos en nuevas tecnlogías de Smart Grid de Oracle para soporte a nuevos servicios que las redes de energía están necesitando que sean cubiertas. Soportes en Automatización de subestaciones electricas y otros proyectos que una herramienta sólida como es Oracle puede ofrecer.  Pasando de campos de informática empresarial y de gestión a verdaderos sistemas de ingeniería donde están ya colaborando para que las nuevas tecnologías vayan tomando consistencia y aceptación mundial.

Por donde empezamos?

Empezaría a mencionar que Oracle soporta multi plataformas ofreciendo soluciones en varios sistemas operativos, una administración de información de tan envergadura requieren conocimientos apropiados para administrar solo la herramienta sin entrar en los detalles de consultas y administración de información.

Empezamos a entender el entorno de esta herramienta, a poder administrar la base de datos en cada sistema operativo, a conocer como configurar para que estén accesibles a varios sistemas y redes.

Luego aunque ahora se puedan programar en Java con Oracle, el corazón de la herramienta misma constituye el conocimiento de PL/SQL.  El caballo de batalla de Oracle, quien quiera ser un buen desarrollador Oracle,  debe empezar a conocer las bases mismas de PL/SQL y luego de aprender todo, puede empezar a pasar a otras formas de desarrollo Oracle, pero se recomienda conocer primeramente PL/SQL.  Las otras formas de programar en oracle se deben principalmente a estrategias comerciales que la misma empresa ha visto como seguir potenciando y apoyando a otras herramientas como es JAVA,  con el deseo de que java también vaya creciendo.  Pero si pretende ser buen desarrollador en Oracle. Es bueno conocer PL/SQL. 

En nuestro medio existen prominentes desarrolladores en PL/SQL y en este post les introducimos a los noveles PL/SQL.  En nuestro país no existen programadores que apunten a usar Oracle en sistemas de ingeniería y no sabían la existencia de proyectos a nivel mundial, ni sabemos el representante en el país de esta herramienta están en conocimiento de los nuevos movimientos de Oracle para las Smart Grids.  Pero no es solamente esta, existen proyectos diferentes que también he encontrado aplicaciones oracle, pero en nuestro país muy poco llegan a aplicarse fuera del ambiente puramente de gestión.  Esperamos como estamos en nuevos tiempos en el Paraguay y las aperturas como de las nuevas visiones de los jovenes con capacidades extraordinarias son los que van a introducir al pais en un nuevo escenario. Al mecionarles esto ya es un golpe de inicio para que puedan desarrollarse nuevos enfoques a los que habitualmente inundan el mercado de la producción de software. Si empezamos a dar a los jovenes nuevas perspectivas de lo que se puede desarrollar también además de solo desarrollos de gestión se estará logrando un paso importante.  Tanto campo sin explorar existe en el mundo de las ingenierías que hoy se pueden aplicar. Por mencionar simplemente una herramienta como lo es AutoCad, que se podría desarrollar aplicaciones ADD_IN.. para que las empresas puedan administrar información como complementos a sus planos, que sirvan de referencias a los diseñadores de los mismos, incluso a mantener una base de datos actualizada de costos de producción y etapas en la que se encuentra en ejecución o mantenimiento de los proyectos civiles o de construcciones.  Además de administrar costos y otras informaciones útiles que sean visibles en los planos mismos.  Es solo un ejemplo de lo que se pueden llegar a desarrollar.  En el mundo electromecánico, eléctrico, e industrial pasa lo mismo, hay mucho por explotar y exportar.

A la pregunta y por donde iniciamos?

la respuesta es …  por aprender PL/SQL, y te damos unas manitos para iniciarte en este mundo:

Bloques de instrucciones PL/SQL

A continuación se muestra como es la estructura general de los bloques de instrucciones de PL/SQL que se usarán en la creación de procedimientos, funciones y triggers.

PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas poderoso que SQL. La unidad de programación utilizada por PL/SQL es el bloque. Todos los programas de PL/SQL están conformados por bloques. Tipicamente, cada bloque lleva a cabo una acción lógica en el programa. Un bloque tendrá siempre la siguiente estructura:

DECLARE

//Sección declarativa: variables, tipos, y subprogramas
//de uso local

BEGIN

//Sección ejecutable: las instrucciones procedimentales, y de SQL
//aparecen aquí. Es la unica sección obligatoria en el bloque.

EXCEPTION

//Sección de manejo de excepciones. Las rutinas de manejo de errores
//aparecen aqui

END;

Solo se requiere que aparezca la sección ejecutable. Lo demas es opcional. Las unicas instrucciones SQL permitidas en un bloque PL/SQL son INSERT, UPDATE, DELETE y SELECT, ademas de algunas instrucciones para manipulación de datos, e instrucciones para control de transacciones. Otras instrucciones de SQL como DROP, CREATE o ALTER no son permitidas. Se permite el uso de comentarios estilo C (/* . . .*/). PL/SQL no es case sensitive por lo que no hay distinción entre nombres con mayusculas y minusculas.

En la sección de declaraciones, se indican las variables que serán usadas dentro del bloque y sus tipos. Por ejemplo:

DECLARE
   myBeer   VARCHAR(20);
   price    NUMBER(6,2);

En algunos casos, es posible que se desee que el tipo de una variable coincida con el tipo usado para una columna de una tabla determinada, en esos casos se puede usar la construcción:

DECLARE
   myBeer Beers.name%TYPE;

Con lo cual se logra que la variable myBeer tenga el mismo tipo que la columna name de la tabla Beers.

Tambien es posible inicializar las variables, mediante el operador :=. Ademas, mediante el uso del mismo operador es posible hacer asignaciones en el cuerpo del programa. Por ejemplo:

DECLARE
   price NUMBER := 300;
BEGIN
   price := price + 150;
END;
.
run

La ejecución de este bloque no tendrá ningun efecto, ya que no se están haciendo cambios sobre la base de datos.

Ademas es posible usar sentencias condicionales y ciclos dentro de los bloques de PL/SQL. Una sentencia condicional tipica es de la forma:

IF (condicion)
THEN (lista de acciones)
ELSE (lista de acciones)
END IF;

Si se desea, se puede hacer el uso de varios casos de condición, mediante el uso de:

IF  . . . THEN . . .
ELSIF . . . THEN . . .
ELSIF . . . THEN . . .
.
.
.
ELSE . . .
END IF;

En ambos casos, la clausula ELSE es opcional.

Si se desea crear un lazo, se puede usar la instrucción:

LOOP
   lista_de_instrucciones
END LOOP;

Al menos alguna de las instrucciones debe ser:

EXIT WHEN condicion;

De esta manera, el lazo terminará cuando la condición sea verdadera. Además es posible utilizar la instrucción:

WHILE (condicion) LOOP
   lista_de_instrucciones
END LOOP;

De esta forma, el ciclo solo se inicia si la condicion es verdadera en principio. Es posible que el programa nunca entre en el ciclo. Usando la instrucción LOOP se garantizaba que siempre se ejecutaría el cuerpo del ciclo al menos una vez. Por último, es posible usar ciclos que se ejecuten un numero predeterminado de veces, mediante el uso de la instrucción:

FOR i IN a..b LOOP
   lista_de_instrucciones
END LOOP;

En este caso i es una variable de uso local, por lo que no es necesario que sea declarada, y puede ser usada dentro del lazo, mientras que a y b son constantes.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s