Intro sql y plsql

  • 272 views
Uploaded on

Curso básico ORACLE SQL y PL/SQL

Curso básico ORACLE SQL y PL/SQL

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
272
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
26
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