Está en la página 1de 37

Introduccin a PL/SQL

PROFESOR: ING. DANILO MONTERO ASTA CORREO: DMONTEROASTUA@GMAIL.COM

AGENDA
LA COMPRENSIN DE LOS BENEFICIOS Y LA ESTRUCTURA DE PL / SQL

EXAMINAR LOS BLOQUES PL / SQL GENERACIN DE MENSAJES DE SALIDA EN PL / SQL

ACERCA DE PL / SQL
PL / SQL: ORACLE PL SQL ES UN LENGUAJE DE PROGRAMACIN CREADO POR ORACLE COMO UNA EXTENSIN DE SQL. ESTE LENGUAJE PUEDE COMBINAR LAS CONSULTAS SQL Y LAS INSTRUCCIONES DE PROCEDIMIENTOS (CONDICIONAL Y PROCESAMIENTO ITERATIVO) PARA CREAR UN TRATAMIENTO COMPLEJO Y SER ALMACENADOS EN LA BASE DE DATOS. SQL ES UN LENGUAJE DE CONSULTA PARA LOS SISTEMAS DE BASES DE DATOS RELACINALES, PERO QUE NO POSEE LA POTENCIA DE LOS LENGUAJES DE PROGRAMACIN. SQL ES UN LENGUAJE DE CONSULTA, NO UN LENGUAJE DE PROGRAMACIN.

ACERCA DE PL / SQL
PL / SQL: CUANDO SE DESEA REALIZAR UNA APLICACIN COMPLETA PARA EL MANEJO DE UNA BASE DE DATOS RELACIONAL, RESULTA NECESARIO UTILIZAR ALGUNA HERRAMIENTA QUE SOPORTE LA CAPACIDAD DE CONSULTA DEL SQL Y LA VERSATILIDAD DE LOS LENGUAJES DE PROGRAMACIN TRADICIONALES. PL/SQL ES EL LENGUAJE DE PROGRAMACIN QUE PROPORCIONA ORACLE PARA EXTENDER EL SQL ESTNDAR CON OTRO TIPO DE INSTRUCCIONES.

ACERCA DE PL / SQL
PL / SQL: SOPORTES PARA LA "EXTENSIN DE LENGUAJE DE PROCEDIMIENTOS DE SQL. ES EL LENGUAJE DE ACCESO DE DATOS ESTNDAR DE ORACLE CORPORATION PARA BASES DE DATOS RELACIONALES. INTEGRA A LA PERFECCIN CON LAS CONSTRUCCIONES DE PROCEDIMIENTO SQL.

ACERCA DE PL / SQL
PL / SQL: PROPORCIONA UNA ESTRUCTURA DE BLOQUES DE LAS UNIDADES DE CDIGO EJECUTABLES. EL MANTENIMIENTO DE CDIGO ES MS FCIL CON UNA ESTRUCTURA BIEN DEFINIDA. PROPORCIONA CONSTRUCCIONES DE PROCEDIMIENTO, TALES COMO:
VARIABLES, CONSTANTES Y TIPOS DE DATOS LAS ESTRUCTURAS DE CONTROL TALES COMO LAS SENTENCIAS CONDICIONALES Y BUCLES UNIDADES DE PROGRAMA REUTILIZABLES QUE SE ESCRIBEN UNA VEZ Y PUEDEN SER EJECUTADOS MUCHAS VECES

ACERCA DE PL / SQL
CON PL/SQL VAMOS A PODER PROGRAMAR:
PROCEDIMIENTOS ALMACENADOS FUNCIONES TRIGGERS

SCRIPTS

PERO ADEMS PL/SQL NOS PERMITE REALIZAR PROGRAMAS SOBRE LAS SIGUIENTES HERRAMIENTAS DE ORACLE:
ORACLE FORMS ORACLE REPORTS

ORACLE GRAPHICS
ORACLE APLICATION SERVER

ACERCA DE PL / SQL
PL/SQL NO ES CASE-SENSITIVE, ES DECIR, NO DIFERENCIA MAYSCULAS DE MINSCULAS COMO OTROS LENGUAJES DE PROGRAMACIN COMO C JAVA. SIN EMBARGO DEBEMOS RECORDAR QUE ORACLE ES CASESENSITIVE EN LA BSQUEDAS DE TEXTO.
UNA LINEA EN PL/SQL CONTIENE GRUPOS DE CARACTERES CONOCIDOS COMO UNIDADES LEXICAS, QUE PUEDEN SER CLASIFICADAS COMO:
DELIMITADORES IDENTIFICADORES LITERALES COMENTARIOS EXPRESIONES

ACERCA DE PL / SQL
DELIMITADOR: ES UN SMBOLO SIMPLE O COMPUESTO QUE TIENE UNA FUNCIN ESPECIAL EN PL/SQL. ESTOS PUEDEN SER: OPERADORES ARITMETICOS OPERADORES LOGICOS IDENTIFICADOR: SON EMPLEADOS PARA NOMBRAR OBJETOS DE PROGRAMAS EN PL/SQL ASI COMO A UNIDADES DENTRO DEL MISMO, ESTAS UNIDADES Y OBJETOS INCLUYEN: CONSTANTES CURSORES VARIABLES SUBPROGRAMAS EXCEPCIONES PAQUETES

ACERCA DE PL / SQL
PAQUETES LITERAL: ES UN VALOR DE TIPO NUMRICO, CARACTER, CADENA O LGICO NO REPRESENTADO POR UN IDENTIFICADOR (ES UN VALOR EXPLCITO).
COMENTARIO: ES UNA ACLARACIN QUE EL PROGRAMADOR INCLUYE EN EL CDIGO. SON SOPORTADOS 2 ESTILOS DE COMENTARIOS, EL DE LNEA SIMPLE Y DE MULTILNEA, PARA LO CUAL SON EMPLEADOS CIERTOS CARACTERS ESPECIALES COMO SON:

VENTAJAS DE PL / SQL
INTEGRACIN DE LAS CONSTRUCCIONES DE PROCEDIMIENTO CON SQL MEJORA DEL RENDIMIENTO (RED y PROCESAMIENTO)

VENTAJAS DE PL / SQL
DESARROLLO DEL PROGRAMA MODULARIZADO. (ANIDADO) INTEGRACIN CON HERRAMIENTAS DE ORACLE. PORTABILIDAD. (CODIGO REUSABLE) EL MANEJO DE EXCEPCIONES.

ESTRUCTURA DE UN BLOQUE PL / SQL


Bloque PL/SQL: Un bloque en PL SQL es una estructura compuesta por cdigo que debe de cumplir una serie de premisas, a continuacin vemos los diferentes elementos que lo componen:

Nota: El / valida la transaccin al ejecutar el cdigo.

ESTRUCTURA DE UN BLOQUE PL / SQL


DECLARE (opcional) - Variables, cursores, excepciones definidas por el usuario BEGIN (obligatorio) - Sentencias SQL - Declaraciones de PL / SQL EXCEPTION (opcional) - Acciones a realizar cuando se producen excepciones END; (obligatorio)

ESTRUCTURA DE UN BLOQUE PL / SQL

ESTRUCTURA DE UN BLOQUE PL / SQL

DONDE: TIPO_DATO: ES EL TIPO DE DATO QUE VA A PODER ALMACENAR LA VARIABLE, ESTE PUEDE SER CUALQUIERA DE LOS TIPOS SOPORTANDOS POR ORACLE, ES DECIR NUMBER , DATE , CHAR , VARCHAR, VARCHAR2, BOOLEAN ... ADEMS PARA ALGUNOS TIPOS DE DATOS (NUMBER Y VARCHAR) PODEMOS ESPECIFICAR LA LONGITUD. LA CLUSULA CONSTANT INDICA LA DEFINICIN DE UNA CONSTANTE CUYO VALOR NO PUEDE SER MODIFICADO. SE DEBE INCLUIR LA INICIALIZACIN DE LA CONSTANTE EN SU DECLARACIN. LA CLUSULA NOT NULL IMPIDE QUE A UNA VARIABLE SE LE ASIGNE EL VALOR NULO, Y POR TANTO DEBE INICIALIZARSE A UN VALOR DIFERENTE DE NULL.

ESTRUCTURA DE UN BLOQUE PL / SQL

donde: LAS VARIABLES QUE NO SON INICIALIZADAS TOMAN EL VALOR INICIAL NULL. LOS TIPOS ESCALARES INCLUYEN LOS DEFINIDOS EN SQL MS LOS TIPOS VARCHAR Y BOOLEAN. ESTE LTIMO PUEDE TOMAR LOS VALORES TRUE, FALSE Y NULL, Y SE SUELE UTILIZAR PARA ALMACENAR EL RESULTADO DE ALGUNA OPERACIN LGICA. VARCHAR ES UN SINNIMO DE CHAR. TAMBIN ES POSIBLE DEFINIR EL TIPO DE UNA VARIABLE O CONSTANTE, DEPENDIENDO DEL TIPO DE OTRO IDENTIFICADOR, MEDIANTE LA UTILIZACIN DE LAS CLUSULAS %TYPE Y %ROWTYPE. MEDIANTE LA PRIMERA OPCIN SE DEFINE UNA VARIABLE O CONSTANTE ESCALAR, Y CON LA SEGUNDA SE DEFINE UNA VARIABLE FILA, DONDE IDENTIFICADOR PUEDE SER OTRA VARIABLE FILA O UNA TABLA. HABITUALMENTE SE UTILIZA %TYPE PARA DEFINIR LA VARIABLE DEL MISMO TIPO QUE TENGA DEFINIDO UN CAMPO EN UNA TABLA DE LA BASE DE DATOS, MIENTRAS QUE %ROWTYPE SE UTILIZA PARA DECLARAR VARIBALES UTILIZANDO CURSORES.

ESTRUCTURA DE UN BLOQUE PL / SQL

TIPOS DE DATOS EN PL/SQL


CADA CONSTANTE Y VARIABLE TIENE UN TIPO DE DATO EN EL CUAL SE ESPECIFICA EL FORMATO DE ALMACENAMIENTO, RESTRICCIONES Y RANGO DE VALORES VALIDOS. PL/SQL PROPORCIONA UNA VARIEDAD PREDEFINIDA DE TIPOS DE DATOS . CASI TODOS LOS TIPOS DE DATOS MANEJADOS POR PL/SQL SON SIMILARES A LOS SOPORTADOS POR SQL. A CONTINUACIN SE MUESTRAN LOS TIPOS DE DATOS MS COMUNES:

TIPOS DE DATOS EN PL/SQL


NUMBER (NUMRICO): ALMACENA NMEROS ENTEROS O DE PUNTO FLOTANTE, VIRTUALMENTE DE CUALQUIER LONGITUD, AUNQUE PUEDE SER ESPECIFICADA LA PRECISIN (NMERO DE DIGITOS) Y LA ESCALA QUE ES LA QUE DETERMINA EL NMERO DE DECIMALES.

TIPOS DE DATOS EN PL/SQL


CHAR (CARACTER): ALMACENA DATOS DE TIPO CARACTER CON UNA LONGITUD MAXIMA DE 32767 Y CUYO VALOR DE LONGITUD POR DEFAULT ES 1

TIPOS DE DATOS EN PL/SQL


VARCHAR2 (CARACTER DE LONGITUD VARIABLE): ALMACENA DATOS DE TIPO CARACTER EMPLEANDO SLO LA CANTIDAD NECESARIA AN CUANDO LA LONGITUD MXIMA SEA MAYOR.

TIPOS DE DATOS EN PL/SQL


BOOLEAN (LGICO): SE EMPLEA PARA ALMACENAR VALORES TRUE O FALSE.

TIPOS DE DATOS EN PL/SQL


DATE (FECHA): ALMACENA DATOS DE TIPO FECHA. LAS FECHAS SE ALMACENAN INTERNAMENTE COMO DATOS NUMRICOS, POR LO QUE ES POSIBLE REALIZAR OPERACIONES ARITMETICAS CON ELLAS. ATRIBUTOS DE TIPO. UN ATRIBUTO DE TIPO PL/SQL ES UN MODIFICADOR QUE PUEDE SER USADO PARA OBTENER INFORMACIN DE UN OBJETO DE LA BASE DE DATOS. EL ATRIBUTO %TYPE PERMITE CONOCER EL TIPO DE UNA VARIABLE, CONSTANTE O CAMPO DE LA BASE DE DATOS. EL ATRIBUTO %ROWTYPE PERMITE OBTENER LOS TIPOS DE TODOS LOS CAMPOS DE UNA TABLA DE LA BASE DE DATOS, DE UNA VISTA O DE UN CURSOR.

OPERADORES EN PL/SQL

AGENDA
LA COMPRENSIN DE LOS BENEFICIOS Y LA ESTRUCTURA DE PL / SQL

EXAMINAR LOS BLOQUES PL / SQL GENERACIN DE MENSAJES DE SALIDA EN PL / SQL

TIPOS DE BLOQUES

EXAMINANDO UN BLOQUE ANNIMO


UN BLOQUE ANNIMO EN EL ESPACIO DE TRABAJO DE SQL DEVELOPER:

EJECUTANDO UN BLOQUE ANONIMO

EJECUTANDO UN BLOQUE ANONIMO


SELECT
SINTAXIS:
SELECT <LISTA> INTO {<VARIABLE>[, <VARIABLE>, ...] | <REGISTRO>} FROM <TABLA> WHERE <CONDICIN>;

EL SELECT ALMACENAR LOS VALORES QUE OBTENGA EN LAS VARIABLES INDICADAS TRAS INTO Y EN EL MISMO ORDEN. ES OBLIGATORIO INCLUIR LA CLUSULA INTO.
EL SELECT DEBE PREPARARSE PARA QUE SLO DEVUELVA UNA FILA.

EJECUTANDO UN BLOQUE ANONIMO


Ejemplo:

DECLARE v_apellidos VARCHAR2(50); v_nombre VARCHAR2(30); BEGIN SELECT apellidos, nombre INTO v_apellidos, v_nombre FROM Empleados WHERE id=5; END;

AGENDA
LA COMPRENSIN DE LOS BENEFICIOS Y LA ESTRUCTURA DE PL / SQL

EXAMINAR LOS BLOQUES PL / SQL GENERACIN DE MENSAJES DE SALIDA EN PL / SQL

HABILITACIN DE SALIDA DE UN BLOQUE PL / SQL


1. Para habilitar la salida en SQL Developer, ejecute el comando siguiente antes de ejecutar el bloque PL / SQL:

2. Use un paquete predefinido de Oracle y su procedimiento en el bloque annimo: DBMS_OUTPUT.PUT_LINE

VISUALIZACIN DE LA SALIDA DE UN BLOQUE PL / SQL

QUIZ
UN BLOQUE PL / SQL DEBE ESTAR FORMADO POR LAS TRES SECCIONES SIGUIENTES: UNA SECCIN DECLARATIVA, QUE COMIENZA CON LA PALABRA CLAVE DECLARE Y TERMINA CUANDO LA SECCIN EJECUTABLE COMIENZA. UNA SECCIN EJECUTABLE, QUE COMIENZA CON LA PALABRA CLAVE BEGIN Y TERMINA CON END. UNA SECCIN DE MANEJO DE EXCEPCIONES, QUE SE INICIA CON LA EXCEPTION PALABRA CLAVE Y EST ANIDADO DENTRO DEL EJECUTABLE SECCIN. 1. VERDADERO 2. FALSO

RESPUESTA: 2 UN BLOQUE PL / SQL CONSTA DE TRES SECCIONES: DECLARATIVA (OPCIONAL): LA SECCIN DECLARATIVA OPCIONAL COMIENZA CON LA PALABRA CLAVE DECLARE Y TERMINA CUANDO LA SECCIN EJECUTABLE COMIENZA. EJECUTABLE (REQUERIDO): LA SECCIN EJECUTABLE REQUERIDO COMIENZA CON LA PALABRA CLAVE BEGIN Y TERMINA CON END. ESTA SECCIN ESENCIALMENTE TIENE QUE TENER POR LO MENOS UN COMUNICADO. OBSERVE QUE END SE TERMINA CON UN PUNTO Y COMA. LA SECCIN EJECUTABLE DE UN BLOQUE PL / SQL PUEDE, A SU VEZ, INCLUIR CUALQUIER NMERO DE BLOQUES DE PL / SQL. EL MANEJO DE EXCEPCIONES (OPCIONAL): LA SECCIN EXCEPCIN FACULTATIVA SE ANIDA DENTRO DE LA SECCIN EJECUTABLE. ESTA SECCIN COMIENZA CON LA PALABRA CLAVE EXCEPTION.

También podría gustarte