PowerPoint Presentation
By Rufino O. Snchez C.PL-SQL
Repaso de SQL y Revisin de la Herramienta de Trabajo.
Introduccin a PL-SQL.
Taller de PL-SQL.
Resumen de los temas vistos.
EvaluacinAgenda de la sesin
Application Express
SQLDeveloper
Usuario Base de Datos: PL_user
Usuario Application Expres: aePl_user
Password: 123456Herramientas de trabajo PL-SQL
PL/SQL: Procedural Language/Structured Query Language
Lenguaje de programacin de Oracle.
Extensin de SQL
Potente lenguaje de acceso a BDs, mediante el cual podemos estructurar y controlar las sentencias SQL que definamos.
Permite definir y manipular distintos tipos de datos, crear procedimientos, funciones, contempla recursividad, etc.
Se debe tener un dominio de SQLQU ES PL-SQL?
PL/SQL, nos permite el tratamiento de condicionales, ciclos,
Optimizacin en tiempo de procesamiento y respuesta. Las instrucciones PL/SQL son enviadas en bloques.
PL/SQL, nos permite el manejo de errores en tiempo de ejecucin.VENTAJAS DE USAR PL/SQL
Se pueden crear con cualquier editor y ejecutarlos desde el prompt del SQL*PLUS con el comando START o @.
Los ficheros creados sern de texto y tendrn la extensin .sql.
CREAR PROGRAMAS PL/SQL
Procesamiento PL/SQL
La unidad bsica en PL/SQL es el bloque.
Todos los programas PL/SQL estn compuestos por bloques, que pueden definirse de forma secuencial o estar anidados.
Normalmente cada bloque realiza una unidad lgica de trabajo en el programa, separando as unas tareas de otras.
PROGRAMAS PL/SQL
ESTRUCTURA DEL CDIGO PL-SQL
Los caracteres maysculas y minsculas A Z, a z
Los nmeros: 0 9
Tabulaciones, espacios y retornos de carro
Los smbolos: ( ) + - * / < > = ~ ; : . @ % , # $ ^ & _ |{ } [ ]
PL/SQL no es case sensitive.CARACTERES PERMITIDOS EN PL/SQL
Conjuntos de caracteres permitidos en un lenguaje de programacin.
Las unidades lxicas de PL/SQL se clasifican en:Delimitadores:
Identificadores
Literales
ComentariosUNIDADES LXICAS EN PL/SQL
bonificacion := salario * 0.10; -- Clculo de Bonus
DELIMITADORES :=*;
IDENTIFICADORESbonificacionsalario
LITERALES0.10
COMENTARIOS:-- Clculo de BonusUNIDADES LXICAS - EJEMPLO
Los delimitadores son smbolos que tienen un significado especial en PL/SQL.
Los DELIMITADORES EN PL/SQL pueden ser SIMPLES o COMPUESTOS.
Los DELIMITADORES SIMPLES, son los que estn compuestos de un slo caracter.
Los DELIMITADORES COMPUESTOS, son los que estn compuestos de DOS caracteres.
DELIMITADORES EN PL/SQL
SMBOLODELIMITADOR+Operador de suma%Operador de Atributo/Operador de divisin( Expresin o lista.)Expresin o lista:Indicador de variable hostDelimitador de identificadores
DELIMITADORES SIMPLESSMBOLODELIMITADOR=Operador relacionalOperador relacional-Resta o Negacin;Terminador de Sentencia,Separador de Items*Operador de multiplicacin
SMBOLODELIMITADOR**Operador de exponenciacinOper. Rel. Diferentes !=Oper. Rel. Diferentes~= Oper. Rel. Diferentes=Oper. Rel. Menor o igual:=Asignacin de valor||Operador de concatenacin
DELIMITADORES COMPUESTOSSMBOLODELIMITADOR>(Fin) delimitador de etiqueta--Indicador de comentario para una sola lnea/*(Comienzo) delimitador de comentario de varias lneas*/(Fin) delimitador de comentario de varias lneas
bonificacion := salario * 0.10; -- Clculo de Bonus
DELIMITADORES :=*;
UNIDADES LXICAS - EJEMPLO
Los identificadores se utilizan para dar nombres a unidades de un programa PL/SQL.
Pueden incluir constantes, variables, excepciones, otros.
Un identificador consiste de una o ms letras.
Puede contener nmeros, signos de dlar, underscores.
No puede contener los siguientes caracteres:% - / y espacios, delimitadores.IDENTIFICADORES
Encuentre los identificadores incorrectos: Mi_variableCorrecta.
MI_VARIABLECorrecta
mi variableIncorrecta
mi-variableIncorrectaIDENTIFICADORES
PALABRAS RESERVADAS
IDENTIFICADORES PREDEFINIDOS
IDENTIFICADORES CON DOBLES COMILLASTIPOS DE IDENTIFICADORES
Son identificadores que por su significado sintctico especial para PL/SQL, se conocen como PALABRAS RESERVADAS.
Para mejor lectura, se recomienda que estn escritas en mayscula cerrada.
Ejemplos:BEGINENDDECLAREBOOLEANVARCHAR2PALABRAS RESERVADAS
Los identificadores pre-definidos, son identificadores que cuentan con un propsito para oracle.
Se pueden redefinir, sin embargo no es recomendado.
Ejemplos de identificadores pre-definidos:NO_DATA_FOUNDINVALID_NUMBERIDENTIFICADORES PRE-DEFINIDOS
Son aquellos identificadores que pueden contener cualquier secuencia de caracteres, incluyendo espacios, pero excluyendo las comillas dobles.
Se debe utilizar mediante comillas dobles.
Ejemplo:X+YMI VARIABLE
Esto es una mala prctica.
IDENTIFICADORES CON COMILLAS DOBLES
bonificacion := salario * 0.10; -- Clculo de Bonus
IDENTIFICADORESbonificacionsalario
UNIDADES LXICAS - EJEMPLO
Un literal es un valor explcito. Un valor que no cambia porque ya representa un valor.
No est representado por un identificador
Pueden ser del tipo:numrico caracter Stringbooleano.
LITERALES
Representan valores numricos.
Los valores numricos pueden ser del tipo: Entero o Real.
Pueden ser negativos.
Ejemplos: 0.10, -0.10, 2, 2.30
Se recomienda evitar trabajar con el tipo Real.LITERALES NUMRICOS
Un literal de tipo Caracter, es un espacio o un carcter delimitados por comillas simples.
Los literales de tipo Carcter, incluyen todo el conjunto de caracteres vlidos en PL/SQL.
Para este tipo de literal PL/SQL es Case Sensitive
Qu Tipo de Literal representa: 9Qu Tipo de Literal representa: 9
LITERALES DE CARACTER
Un literal de tipo STRING, secuencia de dos o ms caracteres delimitados por comillas simples.
Los literales de tipo STRING, incluyen todo el conjunto de caracteres vlidos en PL/SQL.
Para este tipo de literal PL/SQL es Case Sensitive
Qu Tipo de Literal representa: 09Qu Tipo de Literal representa: 09
LITERALES STRING
bonificacion := salario * 0.10; -- Clculo de Bonus
LITERALES0.10
UNIDADES LXICAS - EJEMPLO
Los literales de tipo Booleano son los valores predeterminados TRUE, FALSE.
Tambin pueden tener el valor NULL.
Siempre son valores y no Strings.LITERAL BOOLEANO
Nos ayudan a comprender y documentar un programa PL/SQL.
El compilador de PL/SQL ignora los comentarios.
PL/SQL soporta dos tipos de comentarios: Los de una lnea representados por : --Ejemplo: -- Esto es un comentario
Los de mltiples lneas representados por los delimitadores compuestos: /* y */Ejemplo: /* Esto es otro comentario,pero que puede abarcar varias lneas */COMENTARIOS
bonificacion := salario * 0.10; -- Clculo de Bonus
COMENTARIOS-- Clculo de Bonus
UNIDADES LXICAS - EJEMPLO
Indicaciones:
Analicen e identifiquen las unidades lxicas de las siguiente pantalla.
IDENTIFIQUE LAS UNIDADES LXICAS
ESTRUCTURA DEL CDIGO PL-SQL
NO
ESTRUCTURA DEL CDIGO PL-SQL
Bloque no obligatorio.
Nos permite declarar identificadores para ser utilizados dentro de los otros bloques PL/SQL.
Acepta declaraciones de variables y/o constantes.
Si no se da valor inicial, la variable empieza con el valor NULL
BLOQUE 1: DECLARE
SINTAXIS:NomVariable [CONSTANT] TIPO_DATOS [:= VALOR]
Ejemplo: Apellido Varchar2(25);
Apellido CONSTANT Varchar2(25);
Apellido CONSTANT Varchar2(25) := PEREZ ;
Apellido CONSTANT Varchar2(25) DEFAULT PEREZ ;
BLOQUE 1: DECLARE
Aplicando Restriccin Not Null en una declaracin.
SINTAXISNomVariable TIPO_DATOS [NOT NULL] [:= VALOR]
Apellido CONSTANT Varchar2(25) NOT NULL:= PEREZ ;
BLOQUE 1: DECLARE
%TYPE: Obtiene el tipo de dato de una variable y la asigna a otra.
Apellido Varchar2(25);
LastName Apellido %TYPE
BLOQUE 1: DECLARE
Nos permite ejecutar las instrucciones sql del tipo DML, DCL.
Para ver los mensajes escribir la siguiente sentencia: SET SERVEROUTPUT ON;
Para imprimir mensajes utilizar la siguiente sentencia:DBMS_OUTPUT.PUT_LINE (sentencia);
BLOQUE 2 SECCIN DE EJECUCIN
Cree un script PL-SQL que realice una suma de tres nmeros. Imprima los tres nmeros y la suma obtenida.
Asigne valores por defectos a las variables
Adicione al programa una constante y sume este valor al resultado de la suma.
Agregue una restriccin del tipo not null a una variable.
Diseo de scripts PL-SQL
Para mejorar la lectura de un cdigo fuente, podemos separar las unidades lxicas por Espacios o Retornos de Carro.
Instruccin correcta:IF x>y THEN max:=x;ELSE max:=y;END IF;
La misma instruccin se leera mejor de la siguiente manera: IF x>y THEN max := x; ELSE max := y; END IF;
ESCRITURA EN PL/SQL
Ordene el siguiente Cdigo.
GRACIAS POR SU ATENCIN