PLSQL 1 1
PLSQL 1 1
SQL
1-1
Introducción a PL / SQL
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 3
Introducción a PL / SQL
Propósito
•PL / SQL es el lenguaje de programación procedimental de Oracle
Corporation para bases de datos relacionales
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 4
Introducción a PL / SQL
Descripción PL / SQL
•Extensión del lenguaje de procedimientos a SQL
•Un lenguaje de programación de tercera generación (3GL)
•Un lenguaje de programación patentado por Oracle
•Combina la lógica del programa y el flujo de control con SQL
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 5
Introducción a PL / SQL
Evolución / Generaciones de lenguajes de programación:
•1GL: lenguajes de programación de primera generación; Estos son lenguajes de
nivel de máquina específicos para una CPU en particular.
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 6
Introducción a PL / SQL
Evolución / Generaciones de lenguajes de programación:
•4GL: lenguajes de programación de cuarta generación; menos críptico y, por tanto,
más fácil de programar que los 2GL; a diferencia de la amplia aplicabilidad de los 3GL,
la mayoría de los 4GL se utilizan con bases de datos, para consultas, generación de
informes, manipulación de datos, etc. (p. ej., SQL, MySQL)
•5GL: lenguajes de programación de quinta generación; generalmente implican
un entorno de desarrollo visual o gráfico que exporta el lenguaje fuente a un
compilador 3GL o 4GL; 5GL mayo
también haga referencia a lenguajes que definen un problema y un conjunto de
restricciones, luego deje que la computadora encuentre una solución; (p. ej., sistemas de
inteligencia artificial como PROLOG utilizados con Watson de IBM)
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 7
Introducción a PL / SQL
Descripción SQL
•Un lenguaje sin procedimientos
•También conocido como "lenguaje declarativo", permite al programador centrarse
en la entrada y la salida en lugar de en los pasos del programa.
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 8
Introducción a PL / SQL
Declaración SQL
•La declaración SQL que se muestra es
simple y directa
•Sin embargo, si necesita modificar un elemento de datos de manera
condicional, se encontrará con una limitación de SQL
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 9
Introducción a PL / SQL
Limitaciones de SQL
•Suponga que la empresa decide promover a todos los representantes de
ventas, representantes de marketing y empleados de almacén empleados
durante al menos diez años a representantes senior y empleados.
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 10
Introducción a PL / SQL
Limitaciones de SQL
•Si la fecha actual es 05-FEB-2015, almacenistas 141,
142, 143 y 144 también califican para la promoción
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 11
Introducción a PL / SQL
Limitaciones de SQL
•Se muestra una solución para actualizar los datos de job_id
•¿Cuántas declaraciones SQL necesita escribir para representantes
de ventas, representantes de marketing y empleados de
almacén?
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 12
Introducción a PL / SQL
Limitaciones de SQL
•Debería escribir una declaración SQL separada para cada
job_id que deba actualizarse
•Dependiendo de la cantidad de job_ids, esta puede ser una tarea
tediosa.
•Sería más fácil escribir una sola declaración para
realizar esta tarea.
•La declaración requeriría lógica, también conocida como lógica de
procedimiento.
•PL / SQL amplía SQL con lógica de procedimiento y hace posible
escribir una declaración para realizar esta tarea
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 13
Introducción a PL / SQL
PL / SQL amplía SQL con lógica de procedimiento
•Usando PL / SQL, puede escribir una declaración para promover los
representantes de ventas, los representantes de marketing y los empleados de
almacén.
DECLARE
CURSOR c_employees IS SELECT * FROM employees;
BEGIN
FOR c_emp in c_employees
LOOP
IF c_emp.job_id = 'SA_REP' AND c_emp.hire_date <= '05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_SA_REP' WHERE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'MK_REP' AND c_emp.hire_date <= '05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_MK_REP' WHERE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'ST_CLERK' AND c_emp.hire_date <= '05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_ST_CLRK' WHERE employee_id = c_emp.employee_id;
END IF;
END LOOP;
END;
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 14
Introducción a PL / SQL
Construcciones procedimentales
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 15
Introducción a PL / SQL
Construcciones procedimentales destacadas
•Varias construcciones PL / SQL se destacan a continuación
DECLARE Cursor
CURSOR c_employees IS SELECT * FROM employees;
BEGIN
FOR c_emp in c_employees
LOOP
IF c_emp.job_id = 'SA_REP' AND c_emp.hire_date <='05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_SA_REP’
WHERE employee_id = c_emp.employee_id;
Iterative ELSIF c_emp.job_id = 'MK_REP' AND c_emp.hire_date <= '05-Feb-2005‘THEN
Control UPDATE employees
SET job_id = 'SR_MK_REP’
WHERE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'ST_CLERK' AND c_emp.hire_date <='05-Feb-2005‘ THEN
UPDATE employees
SET job_id = 'SR_ST_CLRK’ Conditional
WHERE employee_id = c_emp.employee_id; Control
END IF; SQL
END LOOP;
END;
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. dieciséis
Introducción a PL / SQL
Características de PL / SQL
•PL / SQL:
-Es un lenguaje altamente estructurado, legible y accesible.
-Es un lenguaje estándar y portátil para el desarrollo de Oracle.
-Es un lenguaje incrustado y funciona con SQL.
-Es un lenguaje de base de datos de alto rendimiento y altamente integrado.
-Se basa en el lenguaje de programación Ada y tiene muchas
similitudes en la sintaxis.
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 17
Introducción a PL / SQL
Terminología
•Los términos clave utilizados en esta lección incluyen:
-PL / SQL
-Construcciones procedimentales
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 18
Introducción a PL / SQL
Resumen
•En esta lección, debería haber aprendido a:
-Describe PL / SQL
-Diferenciar entre SQL y PL / SQL
-Explique la necesidad de PL / SQL
PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 19
Introducción a PL / SQL