PL/SQL
(Procedural Language /SQL)
- Extensión de SQL, estructuralmente más poderoso que SQL( con construcciones propias de lenguajes procedimentales).
- Es un lenguaje estructurado en bloques, la unidad básica de codificación son bloques lógicos, y estos a su vez pueden contener otros sub-bloques dentro de ellos, con las mismas características.
Bloques en PL / SQL
1. DECLARE --Sección declarativa --Variables --Tipos --Subprogramas de uso local --Cursores 2. BEGIN --Única sección de existencia obligatoria en un bloque PL/SQL. --Sección que ejecuta las instrucciones SQL y las procedimentales 3. EXCEPTION -- Rutinas para el control de Excepciones y Errores END;
- Cualquier Bloque puede contener Sub- Bloques
DECLARE – Bloque A BEGIN -- Sub - Bloque B [Declare] – Unicamente si ocupa variables locales. Begin -- Sub – Bloque N Begin ... End; [Exception] End; -- Fin Sub – Bloque B --Sentencias del Bloque A EXCEPTION END; --Fin Bloque A
- Las sentencias terminan con “ ; “.
- Comentarios:
- «–» : comenta una línea.
- «/* */»: Agrupa varias líneas en un comentario.
Ej:
/*Fecha: XXXXXXXX
autor */
- El lenguaje es insensible a Mayúsculas
- Identificadores de Variables, subprogramas.
- No pueden iniciar con caracteres $,#,!,%,&,/,(.* .
- Deben iniciar con letras.
- Tamaño máximo de 30 caracteres.
- El Alcance de identificadores tales como: Variables, tipos ,subprogramas, cursores y otros, abarca el bloque que lo contenga
Reglas de alcance de identificadores:
1. Un identificador es visible en el bloque en el cual haya sido declarado y en todos los sub-bloques, a menos que la regla # 2 aplique.
2. Si un identificador declarado en un bloque es redeclarado en un sub- bloque el identificador original del bloque padre, no podrá ser accesado en el sub-bloque. Sin embargo, el identificador declarado en el sub-bloque acatara las reglas de alcance definidas en la regla # 1.