1-1
Introducción a SQL y PL/SQL
1-2
Introducción a SQL y PL/SQL
Introducción a SQL y PL/SQL
Orlando Lara Betancourt
1-3
Introducción a SQL y PL/SQL
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
1-4
Introducción a SQL y PL/SQL
Introducción a Bases de Datos
1-5
Introducción a SQL y PL/SQL
Overview
Conceptos Basicos
Modelo Entidad Relación (MER)
Modelo Relacional de Datos (MRD)
Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
1-6
Introducción a SQL y PL/SQL
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
1-7
Introducción a SQL y PL/SQL
Modelo Entidad Relación (MER)
Entidad: Objeto sobre el cual se puede tener información.
Atributo: Caracteristica de la entidad
– Dominio: Conjunto de valores de un atributo
Relación: Asociación entre dos o mas Entidades
– Cardinalidad: Numero de correspondencias.
Identificador: Atributo que identifica una única ocurrencia de la Entidad.
1-8
Introducción a SQL y PL/SQL
Modelo Entidad Relación (MER)
Factura# No FactFechaValor
1:n 1:1
Cliente# CedulaNombreDireccionTelefonoSexo (M/F)
Tiene Pertenece
1-9
Introducción a SQL y PL/SQL
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
1-10
Introducción a SQL y PL/SQL
Modelo Relacional de Datos (MRD)
Facturas# No Fact n(4) NNFecha dateValor n(9,2)Cedula n(10) NN
1:n 1:1
Clientes# Cedula n(10) NNNombre v(50) NNDireccion v(80)Telefono v(20)Sexo (M/F) v(1)
Tiene Pertenece
1-11
Introducción a SQL y PL/SQL
Bases de Datos Oracle
Almacenamiento de Datos
Manipulación de Datos
Consulta de Datos
1-12
Introducción a SQL y PL/SQL
Bases de Datos Oracle
RDBMS (Relational Database Management System)
Administración de recursos (Hardware) del Sistema.
Garantizar el maximo aprovechamiento de los recursos.
Esta formado por dos Elementos:
– 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)
1-13
Introducción a SQL y PL/SQL
Aquitectura de la Base de Datos Oracle
1-14
Introducción a SQL y PL/SQL
Aquitectura de la Base de Datos Oracle
1-15
Introducción a SQL y PL/SQL
Aquitectura de la Base de Datos Oracle
DBWnLGWRSMONPMONCKPT
Mandatory Background Processes
1-16
Introducción a SQL y PL/SQL
Aquitectura de la Base de Datos Oracle
1-17
Introducción a SQL y PL/SQL
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
1-18
Introducción a SQL y PL/SQL
Creación y Manejo de Objetos de Bases de Datos
1-19
Introducción a SQL y PL/SQL
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
1-20
Introducción a SQL y PL/SQL
Principales Objetos de la Base de Datos
Tablas
Vistas
Secuencias
Indices
Sinonimos
Procedimientos
Funciones
Paquetes
1-21
Introducción a SQL y PL/SQL
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 Depto
1-22
Introducción a SQL y PL/SQL
Tipos de Datos
Tipo Carácter– CHAR– LONG– NCHAR– NVARCHAR2– VARCHAR2
Tipo Numerico
– NUMBER (L,P)
Tipo Fecha
– DATE
LOB
1-23
Introducción a SQL y PL/SQL
Alterando Tablas
Alter table Empleados Add (Comision number(9,2));
Codigo Nombre Salario Depto Comision
1-24
Introducción a SQL y PL/SQL
Instrucciones Drop y Truncate
Drop table Empleados;
Elimina la definición de la tabla.
Truncate table Empleados;
Elimina los datos de la tabla
1-25
Introducción a SQL y PL/SQL
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));
1-26
Introducción a SQL y PL/SQL
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;
1-27
Introducción a SQL y PL/SQL
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 5000 Planeación
30 Juan Manuel Rivas 20000 Ventas
40 Jose Juaquin Velez 50000 Recursos Humanos
50 Mario Hernandez 1000 Ventas
1-28
Introducción a SQL y PL/SQL
Creación y Uso de las Secuencias
CREATE SEQUENCE SEQEMPLEADOS
START WITH 1
INCREMENT BY 1
MAXVALUE 1E27
MINVALUE 1;
1-29
Introducción a SQL y PL/SQL
Creación y Uso de Indices
CREATE UNIQUE INDEX IDX_CODEMP ON EMPLEADOS (CODIGO);
CREATE INDEX IDX_NOMEMP ON
EMPLEADOS (NOMBRE);
1-30
Introducción a SQL y PL/SQL
Creacion de Sinonimos
CREATE SYNONYM PEGASO.OBSEMULT FOR GAS.OBSEMULT@DESA;
CREATE PUBLIC DATABASE LINK DESA
CONNECT TO DESA
IDENTIFIED BY ud953_f1
USING 'DESA';
CREATE PUBLIC SYNONYM PEGASO.OBSEMULT FOR GAS.OBSEMULT@DESA;
1-31
Introducción a SQL y PL/SQL
Resumen
Objetos de Bases de Datos
Tablas
Constraints
Vistas
Secuencias
Indices
Sinonimos
1-32
Introducción a SQL y PL/SQL
Sentencias Basicas de SQL
1-33
Introducción a SQL y PL/SQL
Overview
Instrucción Select
Limitando la cantidad de registros (Where)
Desplegar datos de multiples tablas (Uso de Joins)
Instrucción Order by
1-34
Introducción a SQL y PL/SQL
Instrucción Select
Select *
From Empleados;
Empleados#CodigoNombreSalario
Codigo Nombre Salario
10 Andres Escobar R 10000
20 Carlos Velasquez 5000
30 Juan Manuel Rivas 20000
40 Jose Juaquin Velez 50000
50 Mario Hernandez 1000
1-35
Introducción a SQL y PL/SQL
Limitando la Cantidad de Registros
Select *
From Empleados
Where Salario > 10000;
La clausula Where determina la condición de la consulta
Codigo Nombre Salario
30 Juan Manuel Rivas 20000
40 Jose Juaquin Velez 50000
1-36
Introducción a SQL y PL/SQL
Desplegar Datos de Multiples Tablas
Codigo Nombre
10 Recursos Humanos
20 Ventas
30 Planeación
Empleados#CodigoNombreSalarioDepto
Deptos#CodigoNombre
1:n 1:1
Tiene Pertenece
1-37
Introducción a SQL y PL/SQL
Desplegar Datos de Multiples Tablas
Select Empleados.Codigo,
Empleados.Nombre,
Empleados.salario,
Deptos.Nombre Depto
From Empleados,Deptos
Where Empleados.Depto = Deptos.Codigo;
Codigo Nombre Salario Depto
10 Andres Escobar R 10000 Ventas
20 Carlos Velasquez 5000 Planeación
30 Juan Manuel Rivas 20000 Ventas
40 Jose Juaquin Velez 50000 Recursos Humanos
50 Mario Hernandez 1000 Ventas
Alias
1-38
Introducción a SQL y PL/SQL
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
1-39
Introducción a SQL y PL/SQL
Resumen
Instrucciones básicas de SQL para consultar datos.
– Select
– Where
– Alias
– Joins
– Order by
1-40
Introducción a SQL y PL/SQL
Manipulación de Datos con SQL
1-41
Introducción a SQL y PL/SQL
Overview
Insertando Datos (Insert)
Actualizando Datos (Update)
Eliminando Información (Delete)
Control de Transacciones (Commit - Rollback)
1-42
Introducción a SQL y PL/SQL
Insertando Datos (insert)
Insert into Empleados
Values (60,’Jota Mario Valencia’,
3000,10);
Codigo Nombre Salario Depto
60 Jota Mario Valencia 3000 10
Empleados
1-43
Introducción a SQL y PL/SQL
Insertando Datos (insert)
Insert into Empleados (Codigo,Nombre,Salario,Depto)
Values (60,’Jota Mario Valencia’,
3000,10);
Codigo Nombre Salario Depto
60 Jota Mario Valencia 3000 10
Empleados
1-44
Introducción a SQL y PL/SQL
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
1-45
Introducción a SQL y PL/SQL
Eliminado Datos (delete)
Delete Empleados
Where Codigo = 10;
Codigo Nombre Salario Depto
20 Carlos Velasquez 5000 10
30 Juan Manuel Rivas 20000 10
40 Jose Juaquin Velez 50000 10
50 Mario Hernandez 1000 10
1-46
Introducción a SQL y PL/SQL
Control de Transacciones
Commit
– Commit;
Rollback
– Rollback;
Save Point
– Save Point <Nombre>
1-47
Introducción a SQL y PL/SQL
Resumen
Instrucciones SQL para manipular datos.
– Insert
– Update
– Delete
– Commit
– Rollback
1-48
Introducción a SQL y PL/SQL
Control de Acceso
1-49
Introducción a SQL y PL/SQL
Overview
Conceptos:
– Usuarios
– Privilegios
– Roles
Otorgar (Grant) y Revocar (Revoke) Privilegios a los objetos de la Base de Datos
1-50
Introducción a SQL y PL/SQL
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
1-51
Introducción a SQL y PL/SQL
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;
1-52
Introducción a SQL y PL/SQL
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;
1-53
Introducción a SQL y PL/SQL
Ejemplo de Uso de Seguridad
1-54
Introducción a SQL y PL/SQL
Resumen
Usuarios
Roles
Privilegios
Manejo de Seguridad de Datos en Oracle
1-55
Introducción a SQL y PL/SQL
Fundamentos de PL/SQL
6
1-56
Introducción a SQL y PL/SQL
Overview
Declaración de Variables
– DEFAULT
– NOT NULL
– %TYPE
– %ROWTYPE
Convenciones de Nombres de variables
Asignación de Valores a las variables
Expresiones y Comparaciones
Funciones del Lenguaje
1-57
Introducción a SQL y PL/SQL
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’;
1-58
Introducción a SQL y PL/SQL
Convenciones de Nombres de Variables
sb Cadena
nu Numerico
dt Fecha
bl Booleano
rt Registro
cu Cursores
cn Constante
1-59
Introducción a SQL y PL/SQL
Asignación de Valores a las variables
nuValor Empleados.Codigo%type;
...
nuValor := 25
select Codigo
into nuValor
from Empleados
where Codigo = 25;
1-60
Introducción a SQL y PL/SQL
Expresiones y Comparaciones
Precedencia de Operación
1-61
Introducción a SQL y PL/SQL
Expresiones y Comparaciones
Operaadores Logicos
1-62
Introducción a SQL y PL/SQL
Expresiones y Comparaciones
Operadores de Comparación
1-63
Introducción a SQL y PL/SQL
Expresiones y Comparaciones
IS NULL
– IF Variable IS NULL THEN ...
BETWEEN
– 45 BETWEEN 38 AND 44
IN y NOT IN
– WHERE CODIGO IN (2,3,4)
– WHERE NOT IN (6,7)
CONCATENAR
– ‘suite’||’case’ ‘suitecase’
1-64
Introducción a SQL y PL/SQL
Expresiones y Comparaciones
SELECT DECODE (codigo,NULL,0,10,’A’,20,’B’) VALOR
FROM EMPLEADOS;
DECODE
1-65
Introducción a SQL y PL/SQL
Expresiones y ComparacionesCASE
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 Opcionfrom dual
1-66
Introducción a SQL y PL/SQL
Funciones del Lenguaje (Tabla DUAL)
1-67
Introducción a SQL y PL/SQL
Resumen
Fundamentos básicos de PL/SQL
Declaracion de Variables
Convenciones
Asignación de Valores a Variables
Expresiones y Comparaciones
Funciones del Lenguaje
1-68
Introducción a SQL y PL/SQL
Estructuras de Control
7
1-69
Introducción a SQL y PL/SQL
Overview
Condicionales
– IF-THEN
– IF-THEN-ELSE
– IF-THEN-ELSIF
Iteraciones
– LOOP
– WHILE
– FOR
1-70
Introducción a SQL y PL/SQL
Condicionales
IF – THEN
IF condicion THEN
secuencia de instrucciones
END IF;
Ejemplo:
IF codigo = 5 THEN
nuValor := 50000;
END IF;
1-71
Introducción a SQL y PL/SQL
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;
1-72
Introducción a SQL y PL/SQL
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;
1-73
Introducción a SQL y PL/SQL
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;
1-74
Introducción a SQL y PL/SQL
Iteraciones
WHILE – LOOP
WHILE condicion LOOP
secuencia de instrucciones
END LOOP;
Ejemplo
WHILE total <=25000 LOOP
total := total + 20;
...
END LOOP;
1-75
Introducción a SQL y PL/SQL
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;
1-76
Introducción a SQL y PL/SQL
Resumen
Estructuras de Control
Condicionales
– IF – THEN
– IF – THEN – ELSE
– IF – THEN – ELSIF
Iteraciones
– LOOP
– WHILE
– FOR
1-77
Introducción a SQL y PL/SQL
PL/SQL y su Interacción con Oracle
8
1-78
Introducción a SQL y PL/SQL
Overview
Caracteristicas de PL/SQL
Manejo de Cursores– Implicit– Explicit
Paso de Parametros a los cursores
Variables tipo cursor
Atributos de los cursores– %FOUND– %NOTFOUND– %ISOPEN– %ROWCOUNT
1-79
Introducción a SQL y PL/SQL
Caracteristicas de PL/SQL
Soporte de SQL
Soporta Programación Orientada a Objetos
Mejor Perfomance
Portable
Integrado con SQL
Manejo de Seguridad
1-80
Introducción a SQL y PL/SQL
Manejo de Cursores
Explicit Cursor
– Comandos: OPEN, FETCH, CLOSE.
Declaración
DECLARE
CURSOR <Nombre> [(parametro1,parametro2...)] IS
instrucción SELECT...
1-81
Introducción a SQL y PL/SQL
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;
1-82
Introducción a SQL y PL/SQL
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;
1-83
Introducción a SQL y PL/SQL
Manejo de Cursores
FOR CURSOR
declarecursor cuEmpleados isselect codigo,nombrefrom Empleadoswhere Salario > 1000;
beginFor rtEmp in cuEmpleados loop
...rtEmp.Codigo ...rtEmp.Nombre ...
end loop;end;
1-84
Introducción a SQL y PL/SQL
Paso de Parametros a Cursores
DECLARE
CURSOR cuEmpleados (nuSalario number) is
SELECT codigo,nombre
FROM Empleados
WHERE Salario > nuSalario;
1-85
Introducción a SQL y PL/SQL
Variables tipo cursor
DECLARE
CURSOR cuEmpleados is
SELECT *
FROM Empleados;
rtEmp cuEmpleados%rowtype;
BEGIN
OPEN cuEmpleados
FETCH cuEmpleados into rtEmp;
..
CLOSE cuEmpleados;
1-86
Introducción a SQL y PL/SQL
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.
1-87
Introducción a SQL y PL/SQL
Resumen
Uso de SQL y PL/SQL
Uso de los Cursores
– Implicit
– Explicit
FOR CURSOR
Parametros de los cursores
Atributos de los cursores
1-88
Introducción a SQL y PL/SQL
Manejo de Errores
9
1-89
Introducción a SQL y PL/SQL
Overview
Instrucción Exception
User-Defined Exception
Mensajes de Error
1-90
Introducción a SQL y PL/SQL
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
1-91
Introducción a SQL y PL/SQL
Instrucción Exception
1-92
Introducción a SQL y PL/SQL
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
1-93
Introducción a SQL y PL/SQL
Mensajes de Error
Utilizacion de Tablas de Mensaje
Funcion que retorne Mensaje Ej: fsbMensaje();
Mensajes Oracle SQLERRM
Mensajes ORA-XX
1-94
Introducción a SQL y PL/SQL
Resumen
Manejo de errores Exception
Usos de las Excepciones
Mensajes de Error
1-95
Introducción a SQL y PL/SQL
Creación de SubProgramas y Paquetes
10
1-96
Introducción a SQL y PL/SQL
Overview
SubProgramas
– Funciones
– Procedimientos
Paquetes
1-97
Introducción a SQL y PL/SQL
SubProgramas
CREATE OR REPLACE
FUNCTION nombre (parametro1,parametro2)
return <tipo de dato> IS|AS
declaraciones locales;
BEGIN
-- Instrucciones
EXCEPTION
-- Manejo de Errores
END;
Funciones
1-98
Introducción a SQL y PL/SQL
SubProgramas
CREATE OR REPLACE
FUNCTION balance (cuenta number) RETURN number IS
declaraciones locales;
BEGIN
-- Instrucciones
return nuValor;
EXCEPTION
-- Manejo de Errores
END;
Funciones (Uso de RETURN)
1-99
Introducción a SQL y PL/SQL
SubProgramas
CREATE OR REPLACE
PROCEDURE inserta_tabla IS
declaraciones locales;
BEGIN
-- Instrucciones
EXCEPTION
-- Manejo de Errores
END;
Procedimientos: Ejecuta Acción especifica
1-100
Introducción a SQL y PL/SQL
Paquetes
Especificación
1-101
Introducción a SQL y PL/SQL
Paquetes
Package Body
1-102
Introducción a SQL y PL/SQL
Resumen
Objetos de Bases de Datos
– Funciones
– Procedimientos
– Paquetes
1-103
Introducción a SQL y PL/SQL
PR&