44
By Rufino O. Sánchez C. PL-SQL

PL_SQL_Chapter_1.pptx

Embed Size (px)

Citation preview

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