2. PL/SQL
PLSQL es una extensión de programación a SQL.
Es el lenguaje de programación de 4ta generación para base de datos Oracle es un lenguaje
de programación incrustado en Oracle. En un entorno de base de datos los programadores
pueden construir bloques PL/SQL para utilizarlos como procedimientos o funciones. Los
programas o paquetes de PL/SQL se pueden almacenar en la base de datos como objeto,
y todos los usuarios que estén autorizados tienen acceso a esos paquetes. Los programas
se ejecutan en el servidor para ahorrar recursos a los clientes.
Los programas que son creados en PL-SQL, solo pueden compilarse si se utilizan
herramientas de Oracle, tales como Fonts, Reports, etc., y también se implementa en un
servidor de Bases de Datos (academia, 2014)
CARACTERISTICAS
LAS PRINCIPALES CARACTERISTICAS SON LAS SIGUIENTES:
Estructuras modulares.
El manejo de variables.
Control de excepciones.
Estructuras de control.
Es una extensión de SQL con características típicas de los lenguajes de programación.
Procedural language / structured query language.
Las sentencias SQL de consulta y manipulación dendatos pueden ser incluidas en
unidades procedurales de código, pero no pueden usarse instrucciones DDL ni DCL.
Se ejecuta en el lado del servidor y los procedimientos y funciones se almacenan en la
BD.
Es un lenguaje procedural, que supera y amplia las capacidades del SQL estándar, por
ejemplo, puede definir secuencias de control, de flujo y toma de decisiones.
No tiene instrucciones de entrada por teclado o salida por pantalla.
Incluye los tipos de datos y operadores de SQL.
Los programas se pueden compilar desde SQL*Plus (comando /) o usar SQL Developer u
otros IDES.
Los comentarios comienzan por - - o se colocan entre /* y */.
Trae unas librerías con funciones predefinidas, se llaman paquetes.
Para ejecutar los procedimientos almacenados desde SQL*Plus se usa el comando exec.
(Padilla, Febrero 2011)
3. VENTAJAS
Creación de sentencias en tiempo de ejecución
Interactivo con el usuario
Acceder a objetos no existentes en tiempo de compilación
Gestión de permisos de usuarios de forma dinámica
Permite ejecutar instrucciones DDL (create, alter, drop, grant,)
DESVENTAJAS:
No siempre se forman las consultas más óptimas.
Problemas de seguridad por ataques de inyección SQL
(mundodb, 2013)
EJEMPLO
creación de objetos
create table numeros(numero number);
delete from numeros;
insert into numeros values(1);
insert into numeros values(2);
insert into numeros values(3);
--Mostrar los números del 1 al parametro
CREATE OR REPLACE PROCEDURE mostrarNumeros1Ub (
Ub number
) IS
vCont number;
BEGIN
-- vContamos de 1 a Ub
vCont := 0;
loop
vCont := vCont + 1;
exit when vCont > Ub;
insert into numeros values(vCont);
--dbms_output.put_line('Iteración número ' || vCont);
end loop;
END;
/
show errors
set serveroutput on;
EXEC mostrarNumeros1Ub(5);
(redcientifica, 2004)
Bibliografía
03.ibm. (2014). IMS. Obtenido de http://www-03.ibm.com/software/products/es/ims-product/
academia. (2014). PL/SQL. Obtenido de www.edu/8987571/PL_SQL
Blanco, F. (2014). Secuencia Por Lotes. Obtenido de http://es.scribd.com/doc/98685213/Base-de-
Datos-Secuencia-Por-Lotes#scribd
Enriquez, H. R. (2011). LENGUAJES DE CUARTA GENERACIÓN.
4. Mata, A. A. (2003). Introducción a los Lenguajes de Cuarta Generación (4GL) . Obtenido de
http://www.di-mare.com/adolfo/cursos/2007-1/pp-Intro4GL.pdf
mundodb. (2013). PL SQL dinámico. Obtenido de http://mundodb.es/pl-sql-dinamico
Padilla, R. R. (Febrero 2011). Fundamentos de PL/SQL. Sistemas Gestores de Bases de Datos.
redcientifica. (2004). Procedimientos PL/SQL . Obtenido de
http://www.redcientifica.com/oracle/c0005p0003.html