bloques

24
Sesión 1 PL/SQL Bloques Ing. Mauricio Bedoya

Upload: mauricio-bedoya

Post on 10-Jul-2015

1.959 views

Category:

Documents


1 download

DESCRIPTION

Bloques PL/SQL

TRANSCRIPT

Page 1: Bloques

Sesión 1PL/SQLBloques

Ing. Mauricio Bedoya

Page 2: Bloques

Introducción al PL/SQL

PL/SQL (Procedural Lenguaje/sql) es un lenguaje de programación que se utiliza para acceder y trabajar con bases de datos Oracle desde distintos entornos.PL/SQL amplía la funcionalidad del lenguaje SQL añadiendo estructuras tipicas de los lenguajes procedimentales, como las variables y los tipos, las estructuras de control, ordenes IF THEN ELSE, etc, los procedimientos y las funciones, los tipos de objetos y los metodos, etc.

Page 3: Bloques

Aplicaciones de Bases de Datos

La estructura básica es cliente-servidor formada por un servidor de bases de datos que recibe peticiones de información de programas residentes en maquinas clientes conectadas por la red con el servidor.Las solicitudes se hacen a través de SQL.

Para racionalizar este tráfico (imaginemos peticiones desde varios cajeros electrónicos), se utiliza PL/SQL.

Page 4: Bloques

¿Y para que sirve?

PL/SQL empaqueta varias ordenes SQL en un unico BLOQUE PL/SQL, que se envía al servidor como una unidad.

Ventajas: Disminución de tráfico en la red y aumento de la velocidad de aplicación y respuesta.

Page 5: Bloques

¿Bloques?

Por tanto, la unidad básica en PL/SQL es el bloque, estando formados los programas por combinaciones de bloques que incluso pueden estar anidados.Cada Bloque realiza una unidad lógica de trabajo en el programa: TRANSACCION!

Page 6: Bloques

¿De que se compone un Bloque?

Sección Declarativa:Se situan en ellas las variables, cursores y tipos usados por el Bloque.

Sección Ejecutable:Se situan en ella las ordenes SQL y las ordenes procedimentales que llevan a cabo el trabajo del bloque.

Seccion de excepciones: Tratamiento de errores, no se ejecuta a menos que ocurra un error.

Page 7: Bloques

Sintaxis de un programa PL/SQL

DECLARE/*Sección declarativa*/

BEGIN/*Sección ejecutable*/

EXCEPTION/*Sección de excepciones*/

END;/

Page 8: Bloques

IMPORTANTE

Hay que observar que cuando se ejecuta un programa (script) PL/SQL, es necesario finalizar el programa con la barra inclinada / antes de submitirlo.

La unica sección indispensable en un bloque es la sección

ejecutable, siendo las otras dos opcionales.

Begin

End;/

Page 9: Bloques

Tipos de Bloques

Se pueden distinguir varios tipos de bloques:

Bloques Anonimos: Se ejecutan una sola vez y se contruyen de manera dinámica.

Bloque Nominados: Son bloques anonimos con nombre o etiqueta y solo se ejecutan una sola vez.

Subprogramas: Que son procedimientos, paquetes y funciones almacenados en la base de datos.

Disparadores: Son bloques nominados que se ejecutan de manera implicita cada vez que tiene lugar un suceso de disparo.

Page 10: Bloques

Consola PL SQL

Page 11: Bloques

Como conectarse a la DBMS?

Se puede conectar de varias formas aquí especificaremos una de ellas:Dijitar:Sql> conn system (_enter)El sistema devolvera:Sql> introduzca la contraseña: (_en este punto se dijita la

contraseña con la que se instalo el motor y se confirma con enter)

Conectado.Sql> _ (_si todo esta bien debe

aparecer la palabra conectado)

Page 12: Bloques

Consola PL SQL

Page 13: Bloques

Editando un script

Page 14: Bloques

Editando un script

Sql>edit <nombre del script sin espacios ni caracteres especiales.>Ejemplo;Sql> edit bases (_enter)

Page 15: Bloques
Page 16: Bloques

Editando un script

Se confirma la operación, así el sistema genera el archivo script con extensión sql y el nombre que le asignamos en la edición:Bases.sqlEl script es un archivo texto que espera las instrucciones en lenguaje sql del programador y administrador.Cuando se cierre se guardara con la extensión SQL.

Page 17: Bloques

Ejemplo de creacion de objetos

Tenemos el siguiente modelo relacional:

Empleados(id,nombre,apellido,ndepto)Deptos (cd,descripcion)

Los campos subrayados representan las claves primarias.El campo ndepto es la referencia foránea del campo cd en la tabla Deptos.

El proposito es implementar el modelo lógico usando la consola de Oracle.Ahora conectese a la consola y cree un script llamado base, aprecie la imagen siguiente donde se digita el código de creación de objetos. Las lineas de comentario deben iniciar con --.

Page 18: Bloques

Creando tablas

Page 19: Bloques

Confirmando y guardando

Page 20: Bloques

Ejecutando el script

Page 21: Bloques

Comprobando el suceso

Page 22: Bloques

Comprobando el suceso

En caso de presentarse errores, se ingresa de nuevo a la edicion del scriptSql>edit base --enter

Ahora bien ya tenemos creados los objetos o tablas, para ver los campos de cada tabla creados por consola se usa el comando describe asi:Sql>describe <nombre_tabla>;

Ejemplo:Sql>describe empleado;

El simbolo ; en PL SQL denota el fin de una transaccion.

Page 23: Bloques

Operaciones DML

Usualmente tambien se puede añadir al script una zona de eliminacion de objetos asi:--zona de eliminacion.Drop table deptos;Drop table empleados;

Oracle no diferencia entre mayusculas y minusculas para notacion de sintaxis de script en los objetos.

Las operaciones DML como inserciones, modificados o borrados tambien puedes hacerse en el script de creacion o en su defecto otro script diferente que es lo recomendable.Insert into table deptosValues(1,’Contabilidad’);Insert into table empleadosValues(90,’Oscar’,’Franco’,1);

Page 24: Bloques

?? ??

??

??

??

Preguntas