Sei sulla pagina 1di 103

Introduccin a SQL y PL/SQL

1-1
Introduccin a SQL y PL/SQL

Orlando Lara Betancourt

Introduccin a SQL y PL/SQL


1-2
Contenido

1. Introduccin a Bases de Datos


2. Creacin y Manejo de Objetos de Bases de Datos
3. Sentencias Basicas de SQL
4. Manipulacin de Datos con SQL
5. Control de Acceso
6. Fundamentos de PL/SQL
7. Estructuras de Control
8. PL/SQL y su interaccin con Oracle
9. Manejo de Errores
10.Creacin de SubProgramas
Introduccin a SQL y PL/SQL
1-3
Introduccin a Bases de Datos

Introduccin a SQL y PL/SQL


1-4
Overview

Conceptos Basicos
Modelo Entidad Relacin (MER)
Modelo Relacional de Datos (MRD)
Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle

Introduccin a SQL y PL/SQL


1-5
Conceptos Basicos

Base de Datos: Conjunto de datos estructurados,


almacenados que se consultan a travs de
aplicaciones.
Diseo de Bases de datos
Conceptual: Especificacin de la realidad
Lgico: Descripcion de la estructura de la BD
Fisico: Implementacin de la Estructura

Introduccin a SQL y PL/SQL


1-6
Modelo Entidad Relacin (MER)

Entidad: Objeto sobre el cual se puede tener


informacin.
Atributo: Caracteristica de la entidad
Dominio: Conjunto de valores de un atributo
Relacin: Asociacin entre dos o mas Entidades
Cardinalidad: Numero de correspondencias.
Identificador: Atributo que identifica una nica
ocurrencia de la Entidad.

Introduccin a SQL y PL/SQL


1-7
Modelo Entidad Relacin (MER)

Cliente
# Cedula Factura
Nombre 1:n 1:1 # No Fact
Direccion Fecha
Tiene Pertenece
Telefono Valor
Sexo (M/F)

Introduccin a SQL y PL/SQL


1-8
Modelo Relacional de Datos (MRD)

Estructura Fisica de la Base de Datos


Entidades Tablas: Singular a Plural
Atributos Campos
Identificador Campo Clave
Normalizacin: Proceso estandar para evitar:
Redundancia de Informacin
Inconsistencia de Informacin
Perdida de Informacin en Cascada
Anomalias de Insercin

Introduccin a SQL y PL/SQL


1-9
Modelo Relacional de Datos (MRD)

Clientes
# Cedula n(10) NN Facturas
Nombre v(50) NN 1:n 1:1 # No Fact n(4) NN
Direccion v(80) Fecha date
Tiene Pertenece
Telefono v(20) Valor n(9,2)
Sexo (M/F) v(1) Cedula n(10) NN

Introduccin a SQL y PL/SQL


1-10
Bases de Datos Oracle

Consulta
de Datos
Manipulacin
de Datos

Almacenamiento
de Datos

Introduccin a SQL y PL/SQL


1-11
Bases de Datos Oracle

RDBMS (Relational Database Management System)


Administracin 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)
Introduccin a SQL y PL/SQL
1-12
Aquitectura de la Base de Datos Oracle

Introduccin a SQL y PL/SQL


1-13
Aquitectura de la Base de Datos Oracle

Introduccin a SQL y PL/SQL


1-14
Aquitectura de la Base de Datos Oracle
Mandatory Background Processes

DBWn
LGWR
SMON
PMON
CKPT

Introduccin a SQL y PL/SQL


1-15
Aquitectura de la Base de Datos Oracle

Introduccin a SQL y PL/SQL


1-16
Resumen

Conceptos de Bases de Datos


Modelo Entidad Relacin
Modelo Relacional de Datos
Caracteristicas de un RDBMS
Arquitectura de la Base de Datos Oracle

Introduccin a SQL y PL/SQL


1-17
Creacin y Manejo de Objetos de
Bases de Datos

Introduccin a SQL y PL/SQL


1-18
Overview

Principales Objetos de la Base de Datos


Creacin de Tablas
Tipos de Datos en Oracle
Alterando Tablas
Instrucciones Drop y Truncate
Creacin de constraints
Creacin de Vistas
Consultando datos de una vista
Creacin y Uso de Secuencias
Creacin y Uso de Indices
Creacin de Sinonimos
Introduccin a SQL y PL/SQL
1-19
Principales Objetos de la Base de Datos

Tablas
Vistas
Secuencias
Indices
Sinonimos
Procedimientos
Funciones
Paquetes

Introduccin a SQL y PL/SQL


1-20
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

Introduccin a SQL y PL/SQL


1-21
Tipos de Datos

Tipo Carcter
CHAR
LONG
NCHAR
NVARCHAR2
VARCHAR2
Tipo Numerico
NUMBER (L,P)
Tipo Fecha
DATE
LOB

Introduccin a SQL y PL/SQL


1-22
Alterando Tablas

Alter table Empleados Add


(Comision number(9,2));

Codigo Nombre Salario Depto Comision

Introduccin a SQL y PL/SQL


1-23
Instrucciones Drop y Truncate

Drop table Empleados;


Elimina la definicin de la tabla.

Truncate table Empleados;


Elimina los datos de la tabla

Introduccin a SQL y PL/SQL


1-24
Creacin 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));

Introduccin a SQL y PL/SQL


1-25
Creacin 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;

Introduccin a SQL y PL/SQL


1-26
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 Planeacin
30 Juan Manuel Rivas 20000 Ventas
40 Jose Juaquin Velez 50000 Recursos Humanos
50 Mario Hernandez 1000 Ventas

Introduccin a SQL y PL/SQL


1-27
Creacin y Uso de las Secuencias

CREATE SEQUENCE SEQEMPLEADOS


START WITH 1
INCREMENT BY 1
MAXVALUE 1E27
MINVALUE 1;

Introduccin a SQL y PL/SQL


1-28
Creacin y Uso de Indices

CREATE UNIQUE INDEX IDX_CODEMP ON


EMPLEADOS (CODIGO);

CREATE INDEX IDX_NOMEMP ON


EMPLEADOS (NOMBRE);

Introduccin a SQL y PL/SQL


1-29
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';

Introduccin a SQL y PL/SQL


1-30
Resumen

Objetos de Bases de Datos


Tablas
Constraints
Vistas
Secuencias
Indices
Sinonimos

Introduccin a SQL y PL/SQL


1-31
Sentencias Basicas de SQL

Introduccin a SQL y PL/SQL


1-32
Overview

Instruccin Select
Limitando la cantidad de registros (Where)
Desplegar datos de multiples tablas (Uso de
Joins)
Instruccin Order by

Introduccin a SQL y PL/SQL


1-33
Instruccin Select

Empleados
Select * #Codigo
From Empleados; Nombre
Salario

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

Introduccin a SQL y PL/SQL


1-34
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 condicin de la consulta


Introduccin a SQL y PL/SQL
1-35
Desplegar Datos de Multiples Tablas

Empleados
Deptos #Codigo
1:n 1:1
#Codigo Nombre
Nombre Tiene Pertenece
Salario
Depto

Codigo Nombre
10 Recursos Humanos
20 Ventas
30 Planeacin

Introduccin a SQL y PL/SQL


1-36
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 5000 Planeacin
30 Juan Manuel Rivas 20000 Ventas
40 Jose Juaquin Velez 50000 Recursos Humanos
50 Mario Hernandez 1000 Ventas
Introduccin a SQL y PL/SQL
1-37
Instruccin 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 Planeacin
10 Andres Escobar R 10000 Ventas
30 Juan Manuel Rivas 20000 Ventas
40 Jose Juaquin Velez 50000 Recursos Humanos

Introduccin a SQL y PL/SQL


1-38
Resumen

Instrucciones bsicas de SQL para consultar


datos.
Select
Where
Alias
Joins
Order by

Introduccin a SQL y PL/SQL


1-39
Manipulacin de Datos con SQL

Introduccin a SQL y PL/SQL


1-40
Overview

Insertando Datos (Insert)


Actualizando Datos (Update)
Eliminando Informacin (Delete)
Control de Transacciones (Commit - Rollback)

Introduccin a SQL y PL/SQL


1-41
Insertando Datos (insert)

Insert into Empleados


Values (60,Jota Mario Valencia,

3000,10);
Empleados
Codigo Nombre Salario Depto
60 Jota Mario Valencia 3000 10

Introduccin a SQL y PL/SQL


1-42
Insertando Datos (insert)

Insert into Empleados


(Codigo,Nombre,Salario,Depto)
Values (60,Jota Mario Valencia,

3000,10);
Empleados
Codigo Nombre Salario Depto
60 Jota Mario Valencia 3000 10

Introduccin a SQL y PL/SQL


1-43
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

Introduccin a SQL y PL/SQL


1-44
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

Introduccin a SQL y PL/SQL


1-45
Control de Transacciones

Commit
Commit;
Rollback
Rollback;
Save Point
Save Point <Nombre>

Introduccin a SQL y PL/SQL


1-46
Resumen

Instrucciones SQL para manipular datos.


Insert
Update
Delete
Commit
Rollback

Introduccin a SQL y PL/SQL


1-47
Control de Acceso

Introduccin a SQL y PL/SQL


1-48
Overview

Conceptos:
Usuarios
Privilegios
Roles
Otorgar (Grant) y Revocar (Revoke) Privilegios
a los objetos de la Base de Datos

Introduccin a SQL y PL/SQL


1-49
Conceptos

Usuarios: SYS y SYSTEM


CREATE USER ORLANDOL
IDENTIFIED BY VALUES 'ECE5A72B8C80CBE3;

Privilegios
- Tablas
- Vistas DML (Data Manipulation)
- Secuencias DDL (Data Definition)
- Procedimientos
- Funciones Labor de DBA
- Paquetes
Introduccin a SQL y PL/SQL
1-50
Conceptos

Roles: Facilita la administracin


Roles de Aplicacin: Conjunto de privilegios
necesarios para ejecutar la Aplicacin.
Roles de Usuario: Se crea un role para un grupo de
usuarios con privilegios comunes.

CREATE ROLE ROLGAS;

Introduccin a SQL y PL/SQL


1-51
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;

Introduccin a SQL y PL/SQL


1-52
Ejemplo de Uso de Seguridad

Introduccin a SQL y PL/SQL


1-53
Resumen

Usuarios
Roles
Privilegios
Manejo de Seguridad de Datos en Oracle

Introduccin a SQL y PL/SQL


1-54
6
Fundamentos de PL/SQL

Introduccin a SQL y PL/SQL


1-55
Overview

Declaracin de Variables
DEFAULT
NOT NULL
%TYPE
%ROWTYPE
Convenciones de Nombres de variables
Asignacin de Valores a las variables
Expresiones y Comparaciones
Funciones del Lenguaje

Introduccin a SQL y PL/SQL


1-56
Declaracin 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;

Introduccin a SQL y PL/SQL


1-57
Convenciones de Nombres de Variables

sb Cadena
nu Numerico
dt Fecha
bl Booleano
rt Registro
cu Cursores
cn Constante

Introduccin a SQL y PL/SQL


1-58
Asignacin de Valores a las variables

nuValor Empleados.Codigo%type;
...
nuValor := 25

select Codigo
into nuValor
from Empleados
where Codigo = 25;

Introduccin a SQL y PL/SQL


1-59
Expresiones y Comparaciones

Precedencia de Operacin

Introduccin a SQL y PL/SQL


1-60
Expresiones y Comparaciones

Operaadores Logicos

Introduccin a SQL y PL/SQL


1-61
Expresiones y Comparaciones

Operadores de Comparacin

Introduccin a SQL y PL/SQL


1-62
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

Introduccin a SQL y PL/SQL


1-63
Expresiones y Comparaciones

DECODE

SELECT DECODE
(codigo,NULL,0,10,A,20,B) VALOR
FROM EMPLEADOS;

Introduccin a SQL y PL/SQL


1-64
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

Introduccin a SQL y PL/SQL


1-65
Funciones del Lenguaje (Tabla DUAL)

Introduccin a SQL y PL/SQL


1-66
Resumen

Fundamentos bsicos de PL/SQL


Declaracion de Variables
Convenciones
Asignacin de Valores a Variables
Expresiones y Comparaciones
Funciones del Lenguaje

Introduccin a SQL y PL/SQL


1-67
7
Estructuras de Control

Introduccin a SQL y PL/SQL


1-68
Overview

Condicionales
IF-THEN
IF-THEN-ELSE
IF-THEN-ELSIF
Iteraciones
LOOP
WHILE
FOR

Introduccin a SQL y PL/SQL


1-69
Condicionales

IF THEN
IF condicion THEN
secuencia de instrucciones
END IF;
Ejemplo:
IF codigo = 5 THEN
nuValor := 50000;
END IF;

Introduccin a SQL y PL/SQL


1-70
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;
Introduccin a SQL y PL/SQL
1-71
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;

Introduccin a SQL y PL/SQL


1-72
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;

Introduccin a SQL y PL/SQL


1-73
Iteraciones

WHILE LOOP
WHILE condicion LOOP
secuencia de instrucciones
END LOOP;
Ejemplo
WHILE total <=25000 LOOP
total := total + 20;
...
END LOOP;

Introduccin a SQL y PL/SQL


1-74
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;

Introduccin a SQL y PL/SQL


1-75
Resumen

Estructuras de Control
Condicionales
IF THEN
IF THEN ELSE
IF THEN ELSIF
Iteraciones
LOOP
WHILE
FOR

Introduccin a SQL y PL/SQL


1-76
8
PL/SQL y su Interaccin con Oracle

Introduccin a SQL y PL/SQL


1-77
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

Introduccin a SQL y PL/SQL


1-78
Caracteristicas de PL/SQL

Soporte de SQL
Soporta Programacin Orientada a Objetos
Mejor Perfomance
Portable
Integrado con SQL
Manejo de Seguridad

Introduccin a SQL y PL/SQL


1-79
Manejo de Cursores

Explicit Cursor
Comandos: OPEN, FETCH, CLOSE.
Declaracin
DECLARE
CURSOR <Nombre>
[(parametro1,parametro2...)] IS
instruccin SELECT...

Introduccin a SQL y PL/SQL


1-80
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;
Introduccin a SQL y PL/SQL
1-81
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;

Introduccin a SQL y PL/SQL


1-82
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;

Introduccin a SQL y PL/SQL


1-83
Paso de Parametros a Cursores

DECLARE
CURSOR cuEmpleados (nuSalario number) is
SELECT codigo,nombre
FROM Empleados
WHERE Salario > nuSalario;

Introduccin a SQL y PL/SQL


1-84
Variables tipo cursor

DECLARE
CURSOR cuEmpleados is
SELECT *
FROM Empleados;

rtEmp cuEmpleados%rowtype;
BEGIN
OPEN cuEmpleados
FETCH cuEmpleados into rtEmp;
..
CLOSE cuEmpleados;

Introduccin a SQL y PL/SQL


1-85
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.

Introduccin a SQL y PL/SQL


1-86
Resumen

Uso de SQL y PL/SQL


Uso de los Cursores
Implicit
Explicit
FOR CURSOR
Parametros de los cursores
Atributos de los cursores

Introduccin a SQL y PL/SQL


1-87
9
Manejo de Errores

Introduccin a SQL y PL/SQL


1-88
Overview

Instruccin Exception
User-Defined Exception
Mensajes de Error

Introduccin a SQL y PL/SQL


1-89
Instruccin 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

Introduccin a SQL y PL/SQL


1-90
Instruccin Exception

Introduccin a SQL y PL/SQL


1-91
User Define Exception
Declaracin
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
Introduccin a SQL y PL/SQL
1-92
Mensajes de Error

Utilizacion de Tablas de Mensaje


Funcion que retorne Mensaje Ej: fsbMensaje();
Mensajes Oracle SQLERRM
Mensajes ORA-XX

Introduccin a SQL y PL/SQL


1-93
Resumen

Manejo de errores Exception


Usos de las Excepciones
Mensajes de Error

Introduccin a SQL y PL/SQL


1-94
10

Creacin de SubProgramas y
Paquetes

Introduccin a SQL y PL/SQL


1-95
Overview

SubProgramas
Funciones
Procedimientos
Paquetes

Introduccin a SQL y PL/SQL


1-96
SubProgramas

Funciones

CREATE OR REPLACE
FUNCTION nombre (parametro1,parametro2)
return <tipo de dato> IS|AS
declaraciones locales;
BEGIN
-- Instrucciones
EXCEPTION
-- Manejo de Errores
END;

Introduccin a SQL y PL/SQL


1-97
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;

Introduccin a SQL y PL/SQL


1-98
SubProgramas

Procedimientos: Ejecuta Accin especifica

CREATE OR REPLACE
PROCEDURE inserta_tabla IS
declaraciones locales;
BEGIN
-- Instrucciones
EXCEPTION
-- Manejo de Errores
END;

Introduccin a SQL y PL/SQL


1-99
Paquetes

Especificacin

Introduccin a SQL y PL/SQL


1-100
Paquetes
Package Body

Introduccin a SQL y PL/SQL


1-101
Resumen

Objetos de Bases de Datos


Funciones
Procedimientos
Paquetes

Introduccin a SQL y PL/SQL


1-102
P&
R
Introduccin a SQL y PL/SQL
1-103

Potrebbero piacerti anche