El documento presenta una introducción a SQL y PL/SQL, comenzando con conceptos básicos de bases de datos, el modelo entidad relación, el modelo relacional de datos y la arquitectura de bases de datos Oracle, además de explicar la creación y manejo de objetos, sentencias SQL básicas, manipulación de datos, y control de acceso. Finalmente, cubre temas como fundamentos y estructuras de control de PL/SQL, su interacción con Oracle y el manejo de errores.
Objetivos del curso de Oracle11g de CLEFormación:
·Conocer los conceptos avanzadas funcionalidades del lenguaje PL/SQL.
·Adquirir los conocimientos necesarios para el desarrollo de aplicaciones con PL/SQL avanzadas.
Dirigido:
·Profesionales y técnicos de informática que conozcan el lenguaje SQL y PLSQL que quieran ampliar conocimientos en este lenguaje.
Requisitos iniciales:
·Conocimientos del lenguaje SQL y fundamentos de la programación PLSQL.
Más información en: http://www.cleformacion.com/es/servicios/formacion/oracle/ORN-1105
Sesion05 - Manipulacion de datos (Oracle)José Toro
Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases.
Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases.
UNIDAD 2. Creación de estructuras de datos
Logro de la Unidad de Aprendizaje
Al término de la unidad, el alumno diseña e implementa modelos de datos que incorporen reglas o restricciones mediante la definición de objetos tales como tablas, secuencias y sinónimos.
Temario
2.1 Tema 3: CREACIÓN DE ESTRUCTURAS DE DATOS
2.1.1 Creación y modificación de tablas
2.1.2 Creación de restricciones
2.1.3 Manejo de índices
2.1.4 Manejo de secuencias
2.1.5 Manejo de sinónimos
Objetivos del curso de Oracle11g de CLEFormación:
·Conocer los conceptos avanzadas funcionalidades del lenguaje PL/SQL.
·Adquirir los conocimientos necesarios para el desarrollo de aplicaciones con PL/SQL avanzadas.
Dirigido:
·Profesionales y técnicos de informática que conozcan el lenguaje SQL y PLSQL que quieran ampliar conocimientos en este lenguaje.
Requisitos iniciales:
·Conocimientos del lenguaje SQL y fundamentos de la programación PLSQL.
Más información en: http://www.cleformacion.com/es/servicios/formacion/oracle/ORN-1105
Sesion05 - Manipulacion de datos (Oracle)José Toro
Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases.
Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases.
UNIDAD 2. Creación de estructuras de datos
Logro de la Unidad de Aprendizaje
Al término de la unidad, el alumno diseña e implementa modelos de datos que incorporen reglas o restricciones mediante la definición de objetos tales como tablas, secuencias y sinónimos.
Temario
2.1 Tema 3: CREACIÓN DE ESTRUCTURAS DE DATOS
2.1.1 Creación y modificación de tablas
2.1.2 Creación de restricciones
2.1.3 Manejo de índices
2.1.4 Manejo de secuencias
2.1.5 Manejo de sinónimos
En esta sesión analizaremos experiencias de la vida real como consultor en trabajos de mejora de rendimiento. Veremos mejores prácticas para la configuración de SQL Server, tips para un mejor T-SQL y un ejercicio de como monitorear mi servidor de base de datos con Performance Counters, un SQL Server Express y un Excel con Power Pivot.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
2. Introducción a SQL y PL/SQL
Orlando Lara Betancourt
Introducción a SQL y PL/SQL
1-2
3. Contenido
1. Introducción a Bases de Datos
2. Creación y Manejo de Objetos de Bases de Datos
3. Sentencias Basicas de SQL
4. Manipulación de Datos con SQL
5. Control de Acceso
6. Fundamentos de PL/SQL
7. Estructuras de Control
8. PL/SQL y su interacción con Oracle
9. Manejo de Errores
10.Creación de SubProgramas
Introducción a SQL y PL/SQL
1-3
6. Conceptos Basicos
Base de Datos: Conjunto de datos estructurados,
almacenados que se consultan a través de
aplicaciones.
Diseño de Bases de datos
–
Conceptual: Especificación de la realidad
–
Lógico: Descripcion de la estructura de la BD
–
Fisico: Implementación de la Estructura
Introducción a SQL y PL/SQL
1-6
7. Modelo Entidad Relación (MER)
Entidad: Objeto sobre el cual se puede tener
información.
Atributo: Caracteristica de la entidad
–
Relación: Asociación entre dos o mas Entidades
–
Dominio: Conjunto de valores de un atributo
Cardinalidad: Numero de correspondencias.
Identificador: Atributo que identifica una única
ocurrencia de la Entidad.
Introducción a SQL y PL/SQL
1-7
8. Modelo Entidad Relación (MER)
Cliente
# Cedula
Nombre
Direccion
Telefono
Sexo (M/F)
1:n
Tiene
1:1
Pertenece
Introducción a SQL y PL/SQL
1-8
Factura
# No Fact
Fecha
Valor
9. Modelo Relacional de Datos (MRD)
Estructura Fisica de la Base de Datos
Entidades Tablas: Singular a Plural
Atributos Campos
Identificador Campo Clave
Normalización: Proceso estandar para evitar:
–
Redundancia de Información
–
Inconsistencia de Información
–
Perdida de Información en Cascada
–
Anomalias de Inserción
Introducción a SQL y PL/SQL
1-9
10. Modelo Relacional de Datos (MRD)
Clientes
# Cedula n(10) NN
Nombre v(50) NN
Direccion v(80)
Telefono v(20)
Sexo (M/F) v(1)
1:n
Tiene
1:1
Pertenece
Introducción a SQL y PL/SQL
1-10
Facturas
# No Fact n(4) NN
Fecha date
Valor n(9,2)
Cedula n(10) NN
11. Bases de Datos Oracle
Consulta
de Datos
Manipulación
de Datos
Almacenamiento
de Datos
Introducción a SQL y PL/SQL
1-11
12. Bases de Datos Oracle
RDBMS (Relational Database Management System)
Garantizar el maximo aprovechamiento de los
recursos.
Esta formado por dos Elementos:
Administración de recursos (Hardware) del
Sistema.
–
Datos: Conforman la propia BD y son de dos tipos:
– Diccionario de datos: BD de los Objetos y
seguridad
– Datos: Datos del Usuario
–
Tratamientos: Aplicaciones para el manejo de los
datos (SQL Plus, DBA Studio, OEM, Forms, etc)
Introducción a SQL y PL/SQL
1-12
13. Aquitectura de la Base de Datos Oracle
Introducción a SQL y PL/SQL
1-13
14. Aquitectura de la Base de Datos Oracle
Introducción a SQL y PL/SQL
1-14
15. Aquitectura de la Base de Datos Oracle
Mandatory Background Processes
DBWn
LGWR
SMON
PMON
CKPT
Introducción a SQL y PL/SQL
1-15
16. Aquitectura de la Base de Datos Oracle
Introducción a SQL y PL/SQL
1-16
17. Resumen
Conceptos de Bases de Datos
Modelo Entidad Relación
Modelo Relacional de Datos
Caracteristicas de un RDBMS
Arquitectura de la Base de Datos Oracle
Introducción a SQL y PL/SQL
1-17
18. Creación y Manejo de Objetos de
Bases de Datos
Introducción a SQL y PL/SQL
1-18
19. Overview
Principales Objetos de la Base de Datos
Creación de Tablas
Tipos de Datos en Oracle
Alterando Tablas
Instrucciones Drop y Truncate
Creación de constraints
Creación de Vistas
Consultando datos de una vista
Creación y Uso de Secuencias
Creación y Uso de Indices
Creación de Sinonimos
Introducción a SQL y PL/SQL
1-19
20. Principales Objetos de la Base de Datos
Tablas
Vistas
Secuencias
Indices
Sinonimos
Procedimientos
Funciones
Paquetes
Introducción a SQL y PL/SQL
1-20
21. Creacion de Tablas
Create table Empleados (
Codigo number(10) not null primary key,
Nombre varchar2(50) not null,
Salario number (9,2) default 0,
Depto number(4));
Codigo
Nombre
Salario
Introducción a SQL y PL/SQL
1-21
Depto
22. Tipos de Datos
Tipo Carácter
Tipo Numerico
–
–
–
–
–
–
NUMBER (L,P)
Tipo Fecha
–
CHAR
LONG
NCHAR
NVARCHAR2
VARCHAR2
DATE
LOB
Introducción a SQL y PL/SQL
1-22
23. Alterando Tablas
Alter table Empleados Add
(Comision number(9,2));
Codigo
Nombre
Salario
Introducción a SQL y PL/SQL
1-23
Depto
Comision
24. Instrucciones Drop y Truncate
Drop table Empleados;
Elimina la definición de la tabla.
Truncate table Empleados;
Elimina los datos de la tabla
Introducción a SQL y PL/SQL
1-24
25. Creación de constraints
ALTER TABLE EMPLEADOS ADD (
CONSTRAINT PK_EMPLEADOS PRIMARY KEY
(CODIGO));
ALTER TABLE EMPLEADOS ADD (
CONSTRAINT FK_EMPL_DPTO FOREIGN KEY
(DEPTO) REFERENCES DEPTOS (CODIGO));
Introducción a SQL y PL/SQL
1-25
26. Creación de Vistas
CREATE OR REPLACE VIEW EMP_DEPTO AS
Select Empleados.Codigo CodEmp,
Empleados.Nombre NomEmp,
Empleados.Salario SalEmp,
Deptos.Nombre Depto
From
Empleados,Deptos
Where
Empleado.Depto = Deptos.Codigo;
Introducción a SQL y PL/SQL
1-26
27. Consultando Datos de una Vista
Select CodEmp,NomEmp,
SalEmp,Depto
From EMP_DEPTO;
CodEmp
NomEmp
SalEmp
Depto
10
Andres Escobar R
10000 Ventas
20
Carlos Velasquez
30
Juan Manuel Rivas
20000 Ventas
40
Jose Juaquin Velez
50000 Recursos Humanos
50
Mario Hernandez
5000 Planeación
1000 Ventas
Introducción a SQL y PL/SQL
1-27
28. Creación y Uso de las Secuencias
CREATE SEQUENCE SEQEMPLEADOS
START WITH 1
INCREMENT BY 1
MAXVALUE 1E27
MINVALUE 1;
Introducción a SQL y PL/SQL
1-28
29. Creación y Uso de Indices
CREATE UNIQUE INDEX IDX_CODEMP ON
EMPLEADOS (CODIGO);
CREATE INDEX IDX_NOMEMP ON
EMPLEADOS (NOMBRE);
Introducción a SQL y PL/SQL
1-29
30. Creacion de Sinonimos
CREATE SYNONYM PEGASO.OBSEMULT FOR
GAS.OBSEMULT@DESA;
CREATE PUBLIC SYNONYM PEGASO.OBSEMULT
FOR GAS.OBSEMULT@DESA;
CREATE PUBLIC DATABASE LINK DESA
CONNECT TO DESA
IDENTIFIED BY ud953_f1
USING 'DESA';
Introducción a SQL y PL/SQL
1-30
34. Instrucción Select
Select *
From Empleados;
Codigo
Nombre
Empleados
#Codigo
Nombre
Salario
Salario
10
Andres Escobar R
10000
20
Carlos Velasquez
5000
30
Juan Manuel Rivas
20000
40
Jose Juaquin Velez
50000
50
Mario Hernandez
1000
Introducción a SQL y PL/SQL
1-34
35. Limitando la Cantidad de Registros
Select *
From Empleados
Where Salario > 10000;
Codigo
Nombre
Salario
30
Juan Manuel Rivas
20000
40
Jose Juaquin Velez
50000
La clausula Where determina la condición de la consulta
Introducción a SQL y PL/SQL
1-35
36. Desplegar Datos de Multiples Tablas
Deptos
#Codigo
Nombre
Codigo
1:n
Tiene
1:1
Pertenece
Empleados
#Codigo
Nombre
Salario
Depto
Nombre
10
Recursos Humanos
20
Ventas
30
Planeación
Introducción a SQL y PL/SQL
1-36
37. Desplegar Datos de Multiples Tablas
Select Empleados.Codigo,
Empleados.Nombre,
Empleados.salario,
Deptos.Nombre Depto
Alias
From
Empleados,Deptos
Where
Empleados.Depto = Deptos.Codigo;
Codigo
Nombre
Salario
Depto
10
Andres Escobar R
10000 Ventas
20
Carlos Velasquez
30
Juan Manuel Rivas
20000 Ventas
40
Jose Juaquin Velez
50000 Recursos Humanos
50
Mario Hernandez
5000 Planeación
1000 Ventas
Introducción a SQL y PL/SQL
1-37
38. Instrucción Order By
Select Empleados.Codigo,
Empleados.Nombre,
Empleados.Salario,
From
Empleados
Order
by Empleados.Salario;
Codigo
Nombre
Salario
Depto
50
Mario Hernandez
1000 Ventas
20
Carlos Velasquez
5000 Planeación
10
Andres Escobar R
10000 Ventas
30
Juan Manuel Rivas
20000 Ventas
40
Jose Juaquin Velez
50000 Recursos Humanos
Introducción a SQL y PL/SQL
1-38
39. Resumen
Instrucciones básicas de SQL para consultar
datos.
–
Select
–
Where
–
Alias
–
Joins
–
Order by
Introducción a SQL y PL/SQL
1-39
42. Insertando Datos (insert)
Insert into Empleados
Values (60,’Jota Mario Valencia’,
3000,10);
Empleados
Codigo
60
Nombre
Jota Mario Valencia
Salario
3000
Introducción a SQL y PL/SQL
1-42
Depto
10
43. Insertando Datos (insert)
Insert into Empleados
(Codigo,Nombre,Salario,Depto)
Values (60,’Jota Mario Valencia’,
3000,10);
Empleados
Codigo
60
Nombre
Jota Mario Valencia
Salario
3000
Introducción a SQL y PL/SQL
1-43
Depto
10
44. Actualizando Datos (update)
Update Empleados
Set Depto = 10;
Codigo
Nombre
Salario
Depto
10
Andres Escobar R
10000
10
20
Carlos Velasquez
5000
10
30
Juan Manuel Rivas
20000
10
40
Jose Juaquin Velez
50000
10
50
Mario Hernandez
1000
10
Introducción a SQL y PL/SQL
1-44
45. Eliminado Datos (delete)
Delete Empleados
Where Codigo = 10;
Codigo
Nombre
20
Carlos Velasquez
30
Salario
Depto
5000
10
Juan Manuel Rivas
20000
10
40
Jose Juaquin Velez
50000
10
50
Mario Hernandez
1000
10
Introducción a SQL y PL/SQL
1-45
50. Conceptos
Usuarios: SYS y SYSTEM
CREATE USER ORLANDOL
IDENTIFIED BY VALUES 'ECE5A72B8C80CBE3’;
Privilegios
- Tablas
- Vistas
- Secuencias
- Procedimientos
- Funciones
- Paquetes
DML (Data Manipulation)
DDL (Data Definition)
Labor de DBA
Introducción a SQL y PL/SQL
1-50
51. Conceptos
Roles: Facilita la administración
–
Roles de Aplicación: Conjunto de privilegios
necesarios para ejecutar la Aplicación.
–
Roles de Usuario: Se crea un role para un grupo de
usuarios con privilegios comunes.
CREATE ROLE ROLGAS;
Introducción a SQL y PL/SQL
1-51
52. Otorgar (Grant) y Revocar (Revoke)
Accesos a los objetos de la Base de Datos
GRANT DELETE, INSERT, SELECT, UPDATE
ON
ACTA TO ROLGAS;
GRANT EXECUTE
ON
PROLEGALIZAR TO JUANCM;
REVOKE DELETE, INSERT, SELECT, UPDATE
ON
ACTA FROM ROLGAS;
Introducción a SQL y PL/SQL
1-52
53. Ejemplo de Uso de Seguridad
Introducción a SQL y PL/SQL
1-53
56. Overview
Declaración de Variables
–
–
NOT NULL
–
%TYPE
–
DEFAULT
%ROWTYPE
Convenciones de Nombres de variables
Asignación de Valores a las variables
Expresiones y Comparaciones
Funciones del Lenguaje
Introducción a SQL y PL/SQL
1-56
57. Declaración de Variables
sbCadena varchar2(50);
nuValor
number (9,2);
dtFecha
date;
blExiste boolean;
nuCodigo Empleados.Codigo%type;
rtEmp
Empleados%rowtype;
nuValor
number(9,2) DEFAULT –1;
sbCadena varchar2(50) NOT NULL := ‘CADENA’;
Introducción a SQL y PL/SQL
1-57
58. Convenciones de Nombres de Variables
sb Cadena
nu Numerico
dt Fecha
bl Booleano
rt Registro
cu Cursores
cn Constante
Introducción a SQL y PL/SQL
1-58
59. Asignación de Valores a las variables
nuValor Empleados.Codigo%type;
...
nuValor := 25
select Codigo
into nuValor
from Empleados
where Codigo = 25;
Introducción a SQL y PL/SQL
1-59
63. Expresiones y Comparaciones
IS NULL
–
BETWEEN
–
IF Variable IS NULL THEN ...
45 BETWEEN 38 AND 44
IN y NOT IN
–
–
WHERE CODIGO IN (2,3,4)
WHERE NOT IN (6,7)
CONCATENAR
–
‘suite’||’case’ ‘suitecase’
Introducción a SQL y PL/SQL
1-63
65. Expresiones y Comparaciones
CASE
select
sysdate fecha, to_number(TO_CHAR(sysdate, 'SS')) Minuto, 'Segundos ' ||
CASE
WHEN (to_number(TO_CHAR(sysdate, 'SS')) IS NULL) THEN 'Nulos'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 0) THEN 'Cero'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 1) THEN 'Uno'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 2) THEN 'Dos'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 3) THEN 'Tres'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 4) THEN 'Cuatro'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 5) THEN 'Cinco'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 6) THEN 'Seis'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 7) THEN 'Siete'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 8) THEN 'Ocho'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 9) THEN 'Nueve'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 10) THEN 'Diez'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) > 10 AND
to_number(TO_CHAR(sysdate, 'SS')) < 31) THEN 'entre 11 y 30'
WHEN (to_number(TO_CHAR(sysdate, 'SS')) in
(31,32,33,34,35,36,37,38,39))
THEN 'in (31,32,33,34,35,36,37,38,39)'
ELSE
'entre 40 y 59'
END as Opcion
from dual
Introducción a SQL y PL/SQL
1-65
67. Resumen
Fundamentos básicos de PL/SQL
Declaracion de Variables
Convenciones
Asignación de Valores a Variables
Expresiones y Comparaciones
Funciones del Lenguaje
Introducción a SQL y PL/SQL
1-67
70. Condicionales
IF – THEN
IF condicion THEN
secuencia de instrucciones
END IF;
Ejemplo:
IF codigo = 5 THEN
nuValor := 50000;
END IF;
Introducción a SQL y PL/SQL
1-70
71. Condicionales
IF – THEN – ELSE
IF condicion THEN
secuencia de instrucciones 1;
ELSE
secuencia de instrucciones 2;
END IF;
Ejemplo
IF codigo = 5 THEN
nuValor := 50000;
ELSE
nuValor := 10;
END IF;
Introducción a SQL y PL/SQL
1-71
72. Condicionales
IF – THEN – ELSIF
IF condicion1 THEN
secuencia de instrucciones 1;
ELSIF condicion2 THEN
secuencia de instrucciones 2;
ELSE
secuencia de instrucciones 3;
END IF;
Introducción a SQL y PL/SQL
1-72
74. Iteraciones
WHILE – LOOP
WHILE condicion LOOP
secuencia de instrucciones
END LOOP;
Ejemplo
WHILE total <=25000 LOOP
total := total + 20;
...
END LOOP;
Introducción a SQL y PL/SQL
1-74
75. Iteraciones
FOR – LOOP
FOR contador IN [REVERSE] desde..hasta
LOOP
secuencia de instrucciones;
END LOOP;
Ejemplo:
FOR i IN 1..10 LOOP
...
total := total + (i*10);
END LOOP;
Introducción a SQL y PL/SQL
1-75
77. 8
PL/SQL y su Interacción con Oracle
Introducción a SQL y PL/SQL
1-77
78. Overview
Caracteristicas de PL/SQL
Paso de Parametros a los cursores
Manejo de Cursores
–
–
Implicit
Explicit
Variables tipo cursor
Atributos de los cursores
–
–
–
–
%FOUND
%NOTFOUND
%ISOPEN
%ROWCOUNT
Introducción a SQL y PL/SQL
1-78
79. Caracteristicas de PL/SQL
Soporte de SQL
Soporta Programación Orientada a Objetos
Mejor Perfomance
Portable
Integrado con SQL
Manejo de Seguridad
Introducción a SQL y PL/SQL
1-79
80. Manejo de Cursores
Explicit Cursor
–
Comandos: OPEN, FETCH, CLOSE.
Declaración
DECLARE
CURSOR <Nombre>
[(parametro1,parametro2...)] IS
instrucción SELECT...
Introducción a SQL y PL/SQL
1-80
81. Manejo de Cursores
Declare
cursor cuEmpleados is
select codigo,nombre
from empleados
where salario > 1000;
nuCodigo Empleados.Codigo%type;
sbNombre Empleados.Nombre%type;
Begin
open cuEmpleados;
fetch cuEmpleados into nuCodigo,sbNombre;
...
close cuEmpleados;
End;
Introducción a SQL y PL/SQL
1-81
82. Manejo de Cursores
Implicit Cursor
–
No utilizan las instrucciones OPEN, FETCH y CLOSE.
–
Utilizan Atributos de los Cursores para determinar el
estado del cursor.
Ejemplo:
...
SELECT codigo
INTO nuValor
FROM Empleados;
Introducción a SQL y PL/SQL
1-82
83. Manejo de Cursores
FOR CURSOR
declare
cursor cuEmpleados is
select codigo,nombre
from
Empleados
where Salario > 1000;
begin
For rtEmp in cuEmpleados loop
...
rtEmp.Codigo ...
rtEmp.Nombre ...
end loop;
end;
Introducción a SQL y PL/SQL
1-83
84. Paso de Parametros a Cursores
DECLARE
CURSOR cuEmpleados (nuSalario number) is
SELECT codigo,nombre
FROM
Empleados
WHERE
Salario > nuSalario;
Introducción a SQL y PL/SQL
1-84
85. Variables tipo cursor
DECLARE
CURSOR cuEmpleados is
SELECT *
FROM
Empleados;
rtEmp cuEmpleados%rowtype;
BEGIN
OPEN cuEmpleados
FETCH cuEmpleados into rtEmp;
..
CLOSE cuEmpleados;
Introducción a SQL y PL/SQL
1-85
86. Atributos de los Cursores
%FOUND: Es verdadero si se encontraron registros
del cursor.
%NOTFOUND: Es verdadero si NO se encontraron
registros del cursor.
%ISOPEN: Es verdadero si el cursor está abierto.
%ROWCOUNT: Devuleve la cantidad de registros que
retorna el cursor.
Introducción a SQL y PL/SQL
1-86
87. Resumen
Uso de SQL y PL/SQL
Uso de los Cursores
–
–
Implicit
Explicit
FOR CURSOR
Parametros de los cursores
Atributos de los cursores
Introducción a SQL y PL/SQL
1-87
90. Instrucción Exception
En Oracle las Advertencias o Mensajes de Error son
llamados Excepciones (Exception).
Permite capturar los errores del
sistema y mantener un control
sobre las aplicaciones.
Pueden ser predefinidas o
creadas por el programador
Introducción a SQL y PL/SQL
1-90
92. User Define Exception
Declaración
DECLARE null_salary EXCEPTION;
Inicializa la variable de Error
PRAGMA EXCEPTION_INIT (null_salary,-60);
DECLARE
null_salary EXCEPTION;
PRAGMA EXCEPTION_INIT (null_salary,-60);
BEGIN
... RAISE null_salary;
EXCEPTION
WHEN null_salary THEN
-- Manejo del Error
Introducción a SQL y PL/SQL
1-92
93. Mensajes de Error
Utilizacion de Tablas de Mensaje
Funcion que retorne Mensaje Ej: fsbMensaje();
Mensajes Oracle SQLERRM
Mensajes ORA-XX
Introducción a SQL y PL/SQL
1-93
97. SubProgramas
Funciones
CREATE OR REPLACE
FUNCTION nombre (parametro1,parametro2)
return <tipo de dato> IS|AS
declaraciones locales;
BEGIN
-- Instrucciones
EXCEPTION
-- Manejo de Errores
END;
Introducción a SQL y PL/SQL
1-97
98. SubProgramas
Funciones (Uso de RETURN)
CREATE OR REPLACE
FUNCTION balance (cuenta number) RETURN number
IS
declaraciones locales;
BEGIN
-- Instrucciones
return nuValor;
EXCEPTION
-- Manejo de Errores
END;
Introducción a SQL y PL/SQL
1-98
99. SubProgramas
Procedimientos: Ejecuta Acción especifica
CREATE OR REPLACE
PROCEDURE inserta_tabla IS
declaraciones locales;
BEGIN
-- Instrucciones
EXCEPTION
-- Manejo de Errores
END;
Introducción a SQL y PL/SQL
1-99