Curso PL/SQL. Parte 1

En este curso de PL/SQL veremos desde que es PL/SQL hasta cosas complicadas que nos puedan surgir en cualquier momento, si sigues este curso hasta el final sabrás programar en PL/SQL.  Este curso lo hago teniendo en cuenta que la gente que lo mire ya sabe SQL y tiene conocimientos básicos de programación, si no es así este no es vuestro curso.

El camino puede ser al principio largo y tedioso, pero cuanto más vallamos avanzando más ganas tendrás de seguir.

TEMA 1. Introducción.

  1. ¿Qué es PL/SQL?
  2. Bloques PL/SQL: Anonimos y con Nombre.
  3. Entorno de Trabajo.
  4. Ámbito de Bloque.

1.1 ¿Qué es PL/SQL?

 
PL/SQL (Procedural Language/Structured Query Language) es un lenguaje de programación incrustado en Oracle.
PL/SQL soportara todas las consultas, ya que la manipulación de datos que se usa es la misma que en SQL, incluyendo nuevas características:
  • El manejo de variables.
  • Estructuras modulares.
  • Estructuras de control de flujo y toma de decisiones.
  • Control de excepciones.
El lenguaje PL/SQL está incorporado en:
  • Servidor de la base de datos.
  • Herramientas de Oracle (Forms, Reports, ...).
En un entorno de base de datos los programadores pueden construir bloques PL/SQL para utilizarlos como procedimientos o funciones, o bien pueden escribir estos bloques como parte de scripts SQL*Plus.



1.2 Bloques PL/SQL 

Los bloques en PL/SQL pueden ser de 2 tipos.
  • Bloques anónimos.
  • Bloques con Nombres.

La mayor diferencia entre unos y otros, es que los bloques anónimos no se almacenan en la base de datos, mientras que los bloques con nombre si se almacenan como objetos en la BD.

Para que se entienda de una forma mucho más sencilla, los bloques anónimos son los Main() de C y los bloques con nombre son las funciones.

Los bloques anónimos tienen la siguiente estructura. (lo que esta [] no es obligatorio).

Bloque anónimo.

[Declare]      
                        
[variables]   

BEGIN

[Exception]


END;


--------------------

La zona entre Declare y BEGIN es la zona declarativa, en otras palabras, es donde se declararán TODAS las variables que utilizaremos en el programa, si no tenemos variables, el Declare no hace falta ponerlo.

Entre el BEGIN y END es donde se pondrá todo el código de nuestro programa.

La zona de Exception para que se entienda rápido es un GOTO.

 Bloque con nombre.


Create or Replace Function <nombre>

[Zona declarativa]

BEGIN

[Zona ejecutiva]

[Exception]

END;


1.3. Entorno de trabajo (con bloques anónimos)

El entorno de trabajo es con ficheros externos en los que se crea el código fuente y luego es llamado desde la base de datos, estos ficheros pueden tener una extensión .txt o más frecuentemente .sql

Un ejemplo de código fuente que imprime por pantalla un "Zarpemos Nakamas".

SET SERVEROUTPUT ON

BEGIN

 DBMS_OUTPUT.PUT_LINE('Zarpemos Nakamas');

END;
/

Con esto ya tenemos hecho nuestro primer programa en PL/SQL, ahora lo que tenemos que hacer es ejecutarlo, para ello una de las formas (la que usaremos en este curso) será ejecutarlo desde SQL*Plus.

Para ejecutarlo tenemos que poner el SQL*Plus lo siguiente:

SQL> @<Ruta del archivo>

Esto ejecutara nuestro código PL/SQL.


1.4 Ámbito de Bloque.

En un principio dije que todas las variables de tienen que declarar en la zona de Declare, pero se pueden hacer más zonas de Declare a lo largo de el código PL/SQL, si abrimos un nuevo declare tendremos que poner su correspondiente BEGIN y END; por lo que las variables aunque tengan el mismo nombre si estan en declare distintos tendrán valores distintos. Ejemplo:

Declare

 X NUMBRE := 3;

BEGIN
    pintar x ----> 3

       Declare
             X NUMBER := 7;

       BEGIN

               pintar x -----> 7

        END;

pintar x ---> 3

END;


No hay comentarios:

Publicar un comentario