Your SlideShare is downloading. ×
0
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Intro sql y plsql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Intro sql y plsql

402

Published on

Curso básico ORACLE SQL y PL/SQL

Curso básico ORACLE SQL y PL/SQL

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
402
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Schedule:TimingTopic
    60 minutesLecture
    30 minutesPractice
    90 minutesTotal
  • Transcript

    • 1. Introducción a SQL y PL/SQL 1-1
    • 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
    • 4. Introducción a Bases de Datos Introducción a SQL y PL/SQL 1-4
    • 5. Overview      Conceptos Basicos Modelo Entidad Relación (MER) Modelo Relacional de Datos (MRD) Bases de Datos Oracle Arquitectura de Bases de Datos Oracle Introducción a SQL y PL/SQL 1-5
    • 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
    • 31. Resumen        Objetos de Bases de Datos Tablas Constraints Vistas Secuencias Indices Sinonimos Introducción a SQL y PL/SQL 1-31
    • 32. Sentencias Basicas de SQL Introducción a SQL y PL/SQL 1-32
    • 33. Overview    Instrucción Select  Instrucción Order by Limitando la cantidad de registros (Where) Desplegar datos de multiples tablas (Uso de Joins) Introducción a SQL y PL/SQL 1-33
    • 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
    • 40. Manipulación de Datos con SQL Introducción a SQL y PL/SQL 1-40
    • 41. Overview     Insertando Datos (Insert) Actualizando Datos (Update) Eliminando Información (Delete) Control de Transacciones (Commit - Rollback) Introducción a SQL y PL/SQL 1-41
    • 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
    • 46. Control de Transacciones  Commit –  Rollback –  Commit; Rollback; Save Point – Save Point <Nombre> Introducción a SQL y PL/SQL 1-46
    • 47. Resumen  Instrucciones SQL para manipular datos. – Insert – Update – Delete – Commit – Rollback Introducción a SQL y PL/SQL 1-47
    • 48. Control de Acceso Introducción a SQL y PL/SQL 1-48
    • 49. Overview  Conceptos: – – Privilegios –  Usuarios Roles Otorgar (Grant) y Revocar (Revoke) Privilegios a los objetos de la Base de Datos Introducción a SQL y PL/SQL 1-49
    • 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
    • 54. Resumen     Usuarios Roles Privilegios Manejo de Seguridad de Datos en Oracle Introducción a SQL y PL/SQL 1-54
    • 55. 6 Fundamentos de PL/SQL Introducción a SQL y PL/SQL 1-55
    • 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
    • 60. Expresiones y Comparaciones  Precedencia de Operación Introducción a SQL y PL/SQL 1-60
    • 61. Expresiones y Comparaciones  Operaadores Logicos Introducción a SQL y PL/SQL 1-61
    • 62. Expresiones y Comparaciones  Operadores de Comparación Introducción a SQL y PL/SQL 1-62
    • 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
    • 64. Expresiones y Comparaciones DECODE SELECT DECODE (codigo,NULL,0,10,’A’,20,’B’) VALOR FROM EMPLEADOS; Introducción a SQL y PL/SQL 1-64
    • 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
    • 66. Funciones del Lenguaje (Tabla DUAL) Introducción a SQL y PL/SQL 1-66
    • 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
    • 68. 7 Estructuras de Control Introducción a SQL y PL/SQL 1-68
    • 69. Overview  Condicionales – – IF-THEN-ELSE –  IF-THEN IF-THEN-ELSIF Iteraciones – LOOP – WHILE – FOR Introducción a SQL y PL/SQL 1-69
    • 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
    • 73. Iteraciones  LOOP LOOP secuencia de instrucciones; END LOOP;  EXIT – EXIT WHEN LOOP LOOP IF condicion THEN ... ... EXIT WHEN a<5; EXIT; END LOOP; END IF; END LOOP; Introducción a SQL y PL/SQL 1-73
    • 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
    • 76. Resumen   Estructuras de Control Condicionales – – IF – THEN – ELSE –  IF – THEN IF – THEN – ELSIF Iteraciones – LOOP – WHILE – FOR Introducción a SQL y PL/SQL 1-76
    • 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
    • 88. 9 Manejo de Errores Introducción a SQL y PL/SQL 1-88
    • 89. Overview    Instrucción Exception User-Defined Exception Mensajes de Error Introducción a SQL y PL/SQL 1-89
    • 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
    • 91. Instrucción Exception Introducción a SQL y PL/SQL 1-91
    • 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
    • 94. Resumen    Manejo de errores Exception Usos de las Excepciones Mensajes de Error Introducción a SQL y PL/SQL 1-94
    • 95. 10 Creación de SubProgramas y Paquetes Introducción a SQL y PL/SQL 1-95
    • 96. Overview  SubProgramas – –  Funciones Procedimientos Paquetes Introducción a SQL y PL/SQL 1-96
    • 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
    • 100. Paquetes  Especificación Introducción a SQL y PL/SQL 1-100
    • 101. Paquetes  Package Body Introducción a SQL y PL/SQL 1-101
    • 102. Resumen  Objetos de Bases de Datos – Funciones – Procedimientos – Paquetes Introducción a SQL y PL/SQL 1-102
    • 103. P& R Introducción a SQL y PL/SQL 1-103

    ×