PG/PLSQL. Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM

Tamaño: px
Comenzar la demostración a partir de la página:

Download "PG/PLSQL. Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM"

Transcripción

1 PG/PLSQL Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM Índice Estructura PL/PGSQL Declaraciones, Alias para parámetros en funciones Datos de tipo tabla, Type & RowType Sentencias, estructuras de control Reporte de errores, cursores Triggers 1

2 Estructura PL/PGSQL CREATE OR REPLACE PROCEDURE [esquema].nombre-procedimiento(nombre-parámetro {IN, OUT, IN OUT} tipo de dato,..) {IS, AS} Declaración de variables; Declaración de constantes; Declaración de cursores; Cuerpo del subprograma PL/SQL; EXCEPTION Bloque de excepciones PL/SQL; CREATE OR REPLACE FUNCTION [esquema].nombre-funcion(nombre-parámetro {IN, OUT, IN OUT} tipo-dedato,..) RETURN tipo-de-dato {IS, AS} Declaración de variables; Declaración de constantes; Declaración de cursores; Cuerpo del subprograma PL/SQL; EXCEPTION Bloque de excepciones PL/SQL; Declaraciones Sintaxis general: name [ CONSTANT ] type [ NOT NULL ] [ { DEFAULT := } expression ]; Ejemplos: user_id integer; quantity numeric(5); url varchar; myrow tablename%rowtype; Registro myfield tablename.columnname%type; Tipo col. arow RECORD; Registro quantity INTEGER DEFAULT 32; url varchar := ; user_id CONSTANT INTEGER := 10; 2

3 Alias para parámetros de funciones name ALIAS FOR $n; Ejemplo: CREATE FUNCTION sales_tax(real) RETURNS REAL AS DECLARE subtotal ALIAS FOR $1; return subtotal * 0.06; LANGUAGE plpgsql ; CREATE FUNCTION instr(varchar, INTEGER) RETURNS INTEGER AS DECLARE v_string ALIAS FOR $1; index ALIAS FOR $2; Datos de tipo Tabla name tablename%rowtype; -- Variable de tipo complejo (registro) -- Se usa name.fieldname CREATE FUNCTION use_two_tables(tablename) RETURNS TEXT AS DECLARE in_t ALIAS FOR $1; use_t table2name%rowtype; SELECT * INTO use_t FROM table2name WHERE... ; RETURN in_t.f1 use_t.f3 in_t.f5 use_t.f7; LANGUAGE plpgsql ; 3

4 Type & RowType Conocer el tipo de dato de una variable Type user_id users.user_id%type; Para crear una variable de tipo registro asociado a las columnas de una tabla users_rec users%rowtype; Sentencias Asignación: <Variable> := <valor>; user_id := 20; tax := subtotal * 0.06; SELECT INTO target select_expressions FROM...; SELECT INTO Result * FROM EMP WHERE empname = myname; IF NOT FOUND THEN RAISE EXCEPTION El empleado % no existe, myname; END IF; Ejecución sin resultados: PERFORM query; PERFORM create_mv( cs_session_page_requests_mv, my_query); 4

5 Sentencias No hacer nada: Null; Ejecución dinámica: EXECUTE texto-comando; EXECUTE UPDATE tabla SET quote_ident(nombrecampo) = quote_literal(nuevovalor) WHERE... ; Obtener resultado de la última ejecución: GET DIAGNOSTICS variable = item [,... ] ; Ejemplos: GET DIAGNOSTICS Variable_int = ROW_COUNT; -- Cantidad de filas GET DIAGNOSTICS estado = FOUND; -- True/False último resultado Estructuras de control Retorno de resultados: Return expresión; Condicionales: IF... THEN IF... THEN... ELSE IF... THEN... ELSE IF IF... THEN... ELSIF... THEN... ELSE IF... THEN... ELSEIF... THEN... ELSE 5

6 Bucles Bucles simples: [<<label>>] LOOP sentencias EXIT [ label ] [ WHEN expresion ]; Ejemplos: LOOP -- algunos cálculos IF count > 0 THEN EXIT; -- exit loop END IF; LOOP -- otros cálculos EXIT WHEN count > 0; Bucle While While [<<label>>] WHILE expresión LOOP sentencias Ejemplos WHILE amount_owed > 0 AND gift_certificate_balance > 0 LOOP -- algunos cálculos WHILE NOT expresión_booleana LOOP -- algunos cálculos 6

7 Bucle For For [<<label>>] FOR nombre IN [ REVERSE ] expresión.. expresión LOOP sentencias Ejemplos FOR i IN LOOP -- algunas expresiones RAISE NOTICE i is %,i; FOR i IN REVERSE LOOP -- algunas expresiones Iterar sobre resultados Iterar sobre resultados [<<etiqueta>>] FOR fila IN consulta LOOP sentencias Ejemplo CREATE FUNCTION cs_refresh_mviews () RETURNS INTEGER AS DECLARE mviews RECORD; PERFORM cs_log( Actualizando las vistas... ); FOR mviews IN SELECT * FROM vista_cs ORDER BY sort_key LOOP -- Ahora "mviews" contiene un registro de vista_cs PERFORM cs_log( Actualizando las vistas quote_ident(mviews.mv_name).. RETURN 1; LANGUAGE plpgsql ; 7

8 Reportar errores RAISE level format [, variable [...]]; Ejemplos: RAISE NOTICE Invocando cs_create_job(%),v_job_id; RAISE EXCEPTION No existe el ID --> %,user_id; Cursores Declaración: nombre CURSOR [ ( argumentos ) ] FOR IS consulta ; Ejemplos: curs1 refcursor; --Es un tipo de dato genérico para cursores curs2 CURSOR FOR SELECT * FROM tenk1; curs3 CURSOR (key integer) IS SELECT * FROM tenk1 WHERE unique1 = key; Abrir cursor para usar: OPEN unbound_cursor FOR SELECT...; OPEN unbound_cursor FOR EXECUTE query_string; Ejemplos: OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey; OPEN curs1 FOR EXECUTE 'SELECT * FROM ' quote_ident($1); 8

9 Cursores Usar cursores: FETCH cursor INTO target; Cerrar cursores: CLOSE cursor; Retornar cursores: CREATE TABLE prueba (columna text); INSERT INTO prueba VALUES ( 123 ); CREATE FUNCTION reffunc(refcursor) RETURNS refcursor AS OPEN $1 FOR SELECT columna FROM prueba; RETURN $1; LANGUAGE plpgsql ; ; SELECT reffunc( funccursor ); FETCH ALL IN funccursor; COMMIT; Triggers CREATE TRIGGER --- argumentos vía TG_ARGV Posibles argumentos: NEW variable con los nuevos datos OLD Variable con el dato antiguo TG_NAME Nombre del trigger TG_WHEN Cuándo se dispara AFTER, BEFORE TG_LEVEL Nivel al que afecta: fila, sentencia TG_OP Operación que dispara (INSERT, UPDATE; DELETE) TG_RELID ID del objecto de la tabla que dispara el trigger TG_RELNAME nombre de la tabla que dispara el trigger TG_NARGS nº de argumentos TG_ARGV[] 9

10 Mas sobre trigger CREATE TRIGGER nombre { BEFORE AFTER } { INSERT UPDATE DELETE [ OR... ] } ON tabla [ FOR [ EACH ] { ROW STATEMENT } ] EXECUTE PROCEDURE nombre_de_función ( argumentos ) Ejemplo trigger 1 CREATE TABLE numeros( numero bigint NOT NULL, cuadrado bigint, cubo bigint, raiz2 real, raiz3 real, PRIMARY KEY (numero) ); 2 CREATE OR REPLACE FUNCTION rellenar_datos() RETURNS TRIGGER AS $rellenar_datos$ DECLARE NEW.cuadrado := power(new.numero,2); NEW.cubo := power(new.numero,3); NEW.raiz2 := sqrt(new.numero); NEW.raiz3 := cbrt(new.numero); RETURN NULL; $rellenar_datos$ LANGUAGE plpgsql; 3 CREATE TRIGGER rellena_datos BEFORE INSERT OR UPDATE ON numeros FOR EACH ROW EXECUTE PROCEDURE rellenar_datos(); 10

11 Ejemplo trigger CREATE TABLE emp ( empname text, salary integer, last_date timestamp, last_user text ); CREATE FUNCTION emp_stamp () RETURNS TRIGGER AS IF NEW.empname ISNULL THEN -- Comprueba que se proporcionan: empname y salary RAISE EXCEPTION empname no puede ser NULL ; END IF; IF NEW.salary ISNULL THEN RAISE EXCEPTION El empleado % no puede tener salario NULL, NEW.empname; END IF; IF NEW.salary < 0 THEN -- El sueldo no puede ser negativo! RAISE EXCEPTION El empleado % no puede tener salario negativo, NEW.empname; END IF; NEW.last_date := now ; -- Se almacena quién y cuándo se cambiaron los datos NEW.last_user := current_user; RETURN NEW; LANGUAGE plpgsql ; CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp FOR EACH ROW EXECUTE PROCEDURE emp_stamp(); Referencias Triggers: 11

Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos

Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos Cursores CREATE OR REPLACE FUNCTION incsalario (INTEGER) RETURNS TEXT AS ' DECLARE curemp CURSOR FOR SELECT nombres, apellidos,

Más detalles

Programación de funciones en PL/pgSQL para PostgreSQL

Programación de funciones en PL/pgSQL para PostgreSQL Programación de funciones en PL/pgSQL para PostgreSQL Roberto Andrade Fonseca. ABL Consultores, S.A. de C.V. 8 de febrero de 2002 1. Objetivos Presentar a los asistentes las ventajas de contar con funciones

Más detalles

PL/PGSQL. Extensión "procedural" de SQL

PL/PGSQL. Extensión procedural de SQL PL/PGSQL Extensión "procedural" de SQL Pero primero triggers DROP TABLE producto cascade; CREATE TABLE producto( id int PRIMARY KEY, vendido timestamp); DROP FUNCTION modificacion() cascade; CREATE FUNCTION

Más detalles

SQL: Vistas, Triggers, y Procedimientos Almacenados

SQL: Vistas, Triggers, y Procedimientos Almacenados SQL: Vistas, Triggers, y Procedimientos Almacenados Dr. Gerardo Rossel Bases de Datos 1C 2018 PostgreSQL Aclaración En estas diapositivas nos basaremos principalmente en PostgreSQL. Diferentes motores

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

Disparadores (triggers) en PostgreSQL

Disparadores (triggers) en PostgreSQL Disparadores (triggers) en PostgreSQL Una de las funcionalidades disponibles en PostgreSQL son los denominados disparadores (triggers). En este artículo vamos a introducirnos en el mundo de los disparadores,

Más detalles

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo

Más detalles

PRÁCTICA T2. El lenguaje procedural PL/SQL de Oracle

PRÁCTICA T2. El lenguaje procedural PL/SQL de Oracle 3º Ingeniero Técnico en Informática de Sistemas Asignatura: Fundamentos de Bases de Datos Curso: 2007/8 PRÁCTICA T2. El lenguaje procedural PL/SQL de Oracle Objetivos Conocer los conceptos y estructuras

Más detalles

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL Estructura del código PL/SQL. Bloques: El Lenguaje PL/SQL sentencias PL/SQL Los ficheros terminan con el caracter

Más detalles

Triggers. BASES DE DATOS Mercedes García Merayo

Triggers. BASES DE DATOS Mercedes García Merayo Triggers BASES DE DATOS Mercedes García Merayo Triggers Un trigger es código (PL/SQL) que se ejecuta automáticamente cuando se realiza una determinada acción sobre la base de datos. Tipos de triggers Triggers

Más detalles

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas

Más detalles

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla Diciembre 2016 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

«Calcular un área a partir de un punto Encriptar archivos usando gpg»

«Calcular un área a partir de un punto Encriptar archivos usando gpg» 1 de 6 28/09/2010 «Calcular un área a partir de un punto Encriptar archivos usando gpg» Bueno gente, cuando empecé a investigar este tema ví muchas versiones, algunos que decían que era imposible hacerlo

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

Estructura general. Fundamentos. Comentarios. Tipos de datos. Funciones de conversión

Estructura general. Fundamentos. Comentarios. Tipos de datos. Funciones de conversión Estructura general PL/SQL es un lenguaje estructurado. Su unidad básica es el bloque. Un bloque PL/SQL tiene 3 partes: zona de declaraciones, zona ejecutable y zona de tratamiento de excepciones. La sintaxis

Más detalles

Para crear una función o un procedimiento se deben usar las instrucciones CREATE FUNCTION o CREATE PROCEDURE.

Para crear una función o un procedimiento se deben usar las instrucciones CREATE FUNCTION o CREATE PROCEDURE. http://dev.mysql.com/doc/refman/5.0/es/index.html MySQL básico Procedimientos y Funciones A partir de mysql 5.0, es posible definir rutinas en MySQL. Éstas son funciones y procedimientos que están almacenadas

Más detalles

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 SQL (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 Crear una Tabla (Esquema de Relación) (1) (Cascadas) postgres=# CREATE TABLE departamento ( codigo

Más detalles

Para procesar instrucciones SELECT que devuelvan más de una fila, son necesarios cursores explicitos combinados con un estructura de bloque.

Para procesar instrucciones SELECT que devuelvan más de una fila, son necesarios cursores explicitos combinados con un estructura de bloque. Base de datos II. Guía 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos II Tema: Cursores Objetivo Conocer la definición y utilización de los cursores Materiales Oracle 12 c Guía

Más detalles

Introducción a Oracle PL / SQL 12c

Introducción a Oracle PL / SQL 12c ORACLE PL / SQL 12C a Oracle PL / SQL 12c El alumno egresara del mismo con los conocimientos y destrezas necesarias para desempeñarse como desarrollador Oracle PL/SQL además de contar con los conocimientos

Más detalles

Unidad 6. Procedimientos Almacenados y Disparadores

Unidad 6. Procedimientos Almacenados y Disparadores Unidad 6 Procedimientos Almacenados y Disparadores Disparadores (Triggers) Características Los disparadores solo ocurren cuando se presentan determinados eventos Los tipos de eventos permitidos suelen

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas 18 de marzo de 2002 1 1. Introducción 2. El modelo evento-condición-acción Definición y uso de disparadores en Oracle Características de las reglas activas 3. Propiedades de las reglas activas 4. Aplicaciones

Más detalles

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC INTRODUCCIÓN Los subprogramas son otro tipo de bloques PL/SQL Se diferencian de los bloques anónimos porque

Más detalles

Introducción a PostgreSQL. Facultad de Ingeniería Enrique Felipe Anastacio Base de Datos

Introducción a PostgreSQL. Facultad de Ingeniería Enrique Felipe Anastacio Base de Datos Introducción a PostgreSQL Qué es PostgreSQL? PostgreSQL es un sistema manejador de bases de datos relacionales basado en postgres 4.2, desarrollado en el departamento Berkeley de Ciencias de la computación

Más detalles

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar

Más detalles

Oracle PL/SQL. Programa de Estudio.

Oracle PL/SQL. Programa de Estudio. Oracle PL/SQL Programa de Estudio Oracle PL/SQL El alumno egresara del mismo con los conocimientos y destrezas necesarias para desempeñarse como desarrollador Oracle PL/SQL además de contar con los conocimientos

Más detalles

Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL

Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL ) 3 puntos) Considérese un fichero secuencial con un índice con asociación estática. El índice es primario y está organizado sobre una

Más detalles

A. Introducción. B. Los DATABASES TRIGGERS. PL/SQL en objetos de la base de datos. Oracle 11g - SQL, PL/SQL, SQL*Plus 271

A. Introducción. B. Los DATABASES TRIGGERS. PL/SQL en objetos de la base de datos. Oracle 11g - SQL, PL/SQL, SQL*Plus 271 PL/SQL en objetos de la base de datos A. Introducción Además de los bloques PL/SQL anónimos utilizados por SQL*PLus o por las herramientas de desarrollo (Oracle*FORMS, Oracle*Reports), se puede emplear

Más detalles

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas avanzado 22/11/2016 avanzado: Secuencias, triggers, cursores y subprogramas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

Más detalles

Funciones y TriggersIntroducción, Ejemplos

Funciones y TriggersIntroducción, Ejemplos Funciones y Triggers Introducción, Ejemplos 13 de noviembre de 2004 Contenidos Funciones: para qué? Lenguajes Tipos de funciones Creación de funciones tradicionales SRFs Funciones para triggers Indices

Más detalles

Capítulo 8. Construcción de guiones

Capítulo 8. Construcción de guiones Capítulo 8 Construcción de guiones ÍNDICE CAPÍTULO 8 Lenguajes de programación y bases de datos Procedimientos y funciones almacenados en MySQL Sintaxis y ejemplos Parámetros y variables Instrucciones

Más detalles

Reemplazando Arcmap y Autocad con QGis y Postgres para trazar Redes de Agua y Alcantarillado

Reemplazando Arcmap y Autocad con QGis y Postgres para trazar Redes de Agua y Alcantarillado Reemplazando Arcmap y Autocad con QGis y Postgres para trazar Redes de Agua y Alcantarillado José Venegas Acevedo Jvenegas@bimosig.com jvenegasperu PRESENTACIÓN José Venegas Acevedo jvenegas@bimosig.com

Más detalles

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Triggers en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Triggers (Disparadores) Los triggers son bloques PL/SQL que se ejecutan de manera implícita cuando se están manipulando

Más detalles

PL SQL -Oracle. Índice. Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM. Qué es PL/SQL? Qué permite?

PL SQL -Oracle. Índice. Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM. Qué es PL/SQL? Qué permite? PL SQL -Oracle Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM Índice Qué es PL/SQL? Qué permite? Generalidades: fundamentos, delimitadores, literales, tipos de datos PL/SQL en Oracle

Más detalles

Lenguaje PL/SQL. Instrucciones de Repetición

Lenguaje PL/SQL. Instrucciones de Repetición Lenguaje PL/SQL Instrucciones de Repetición Instrucciones de repetición Los LOOPs repiten una secuencia de instrucciones varias veces. Los tipos son: Loop básico: Acciones repetitivas sin condición. Loop

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL 22/11/2016 Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre 2014 Objetivos de este tema Conocer el lenguaje procedimental

Más detalles

Tabla de contenidos RENAME...9

Tabla de contenidos RENAME...9 Tabla de contenidos 1. El Lenguaje Procedimental SQL - PL/pgSQL...1 Visión General...1 Ventajas del Uso de PL/pgSQL...2 Argumentos y Tipos de Datos de los Resultados Soportados...2 Sugerencias para Desarrollar

Más detalles

PL/SQL. - La unidad de programación utilizada por PL/SQL es el bloque. - Todos los programas de PL/SQL están conformados por bloques.

PL/SQL. - La unidad de programación utilizada por PL/SQL es el bloque. - Todos los programas de PL/SQL están conformados por bloques. PL/SQL - Disponible en http://www.lsi.us.es/docencia/get.php?id=5784 - Bibliografía:.Principios de Bases de Datos. Serrano, Sara Lana, Madrid E.U.I.T de Telecomunicación..Gestión de Bases de Datos. Framiñan

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Disparadores en Oracle (Ejemplos Prácticos)

Disparadores en Oracle (Ejemplos Prácticos) Asignatura: Base de Datos Titulación: Ingeniería Informática Curso: 4º Disparadores en Oracle (Ejemplos Prácticos) Nota: Recuerde guardar los scripts, utilice para ello un editor de texto. Triggers DML

Más detalles

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla noviembre 2012 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir

Más detalles

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL Introducción a 21/11/2014 1. Qué es? 2. Bloque Introducción a Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre 2014 1.

Más detalles

Triggers (o disparadores) Definición y sintaxis

Triggers (o disparadores) Definición y sintaxis Triggers (o disparadores) Definición y sintaxis Son bloques PL/SQL almacenados asociados a una tabla que se ejecutan o disparan automáticamente cuando se producen ciertos eventos sobre la tabla (inserción,

Más detalles

MySQL: Vistas y Rutinas Almacenadas. Bases de Datos

MySQL: Vistas y Rutinas Almacenadas. Bases de Datos MySQL: Vistas y Rutinas Almacenadas Bases de Datos Contenido 1. Views 2. Stored Procedures 3. Stored Function 4. Triggers SQL: View Una vista es una consulta almacenada (stored query) que cuando se la

Más detalles

Tema: DISPARADORES (TRIGGERS)

Tema: DISPARADORES (TRIGGERS) Base de datos II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos II Tema: DISPARADORES (TRIGGERS) Objetivo Conocer la definición y utilización de los triggers Materiales Oracle

Más detalles

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Curso 2004/2005 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003 CREATE [OR REPLACE] TRIGGER nombre [temporalidad del evento] [granularidad del evento]

Más detalles

DISEÑO DE BASES DE DATOS ºC Examen 8/Feb/2006

DISEÑO DE BASES DE DATOS ºC Examen 8/Feb/2006 Cuestión: Control de concurrencia Haga un cuadro comparativo de las ventajas e inconvenientes de los distintos métodos de control de concurrencia que conozca (en filas: el método, en columnas: ventajas

Más detalles

PL/SQL. DECLARE /* Parte Declarativa */ BEGIN /* Parte de Ejecución */ EXCEPTION /* Parte de Excepciones */ END;

PL/SQL. DECLARE /* Parte Declarativa */ BEGIN /* Parte de Ejecución */ EXCEPTION /* Parte de Excepciones */ END; 18 de marzo de 2002 1 1. Declaraciones Variables y constantes Cursores Excepciones 2. Instrucciones Asignación Control de flujo Bucles 3. Manejadores de excepciones 4. Anidamiento de bloques 5. Tipos de

Más detalles

Catedra de Base de Datos

Catedra de Base de Datos Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2017 Programa Analítico de la Materia Unidad 6: SQL. Transacciones. Procedimientos Almacenados.

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL

Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL ) (4,3 puntos) Considérese un fichero secuencial indexado con un índice numérico (con valores entre 0 y 65.535) con duplicados

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL Introducción a PL/SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos de este tema Conocer PL/SQL. PL/SQL

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers). Unidad 5 SQL Procedural 5.1 Procedimientos y Funciones. 5.2 Disparadores (Triggers). Taller Bases de Datos ISC Ing. Felipe Alanís González -ITD- 1 MySQL 1. Se usará la Base de Datos llamada LaConsentida.

Más detalles

Diseño e Implementación de Bases de Datos

Diseño e Implementación de Bases de Datos Universidad Tecnológica Equinoccial Facultad de Ciencias de la Ingeniería Departamento de Informática Diseño e Implementación de Bases de Datos Segundo Semestre 2011-2012 Prof. Diego Ordóñez Camacho, Ph.D.

Más detalles

Funciones, procedimientos y cursores en Oracle

Funciones, procedimientos y cursores en Oracle Funciones, procedimientos y cursores en Oracle Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre 2013 Funciones, procedimientos,

Más detalles

Triggers. Carmen Hernández Triggers y PL/SQL 2

Triggers. Carmen Hernández Triggers y PL/SQL 2 Triggers y PL/SQL Triggers Un trigger (disparador) define una acción que la base de datos siempre debería realizar cuando ocurre algún tipo de acontecimiento que la afecta. Se utilizan para mantener la

Más detalles

Funciones y paquetes PL/SQL. Jonathan Medina Gómez Facultad de ingeniería Universidad de Antioquia

Funciones y paquetes PL/SQL. Jonathan Medina Gómez Facultad de ingeniería Universidad de Antioquia Funciones y paquetes PL/SQL Jonathan Medina Gómez Facultad de ingeniería Universidad de Antioquia Funciones Una función es un subprograma que retorna un valor simple. Las funciones se pueden invocar dentro

Más detalles

Haga clic para PostgreS cambiar el estilo

Haga clic para PostgreS cambiar el estilo Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación ldgarc@gmail.com Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es

Más detalles

PL/SQL. Programming Language Structured Query Language

PL/SQL. Programming Language Structured Query Language PL/SQL Programming Language Structured Query Language SQL Standard para la manipulación. DDL, DML. Oracle no exactamente cumple el standard. Bueno Quien lo cumple?. PL/SQL Lenguaje de programación, con

Más detalles

Catedra de Base de Datos

Catedra de Base de Datos Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2016 Cronograma 25-Oct Martes SQL. Transacciones. Procedimientos Almacenados. Triggers.

Más detalles

BD Activas: Motivación

BD Activas: Motivación BD Activas: Motivación Los SGBD convencionales son pasivos. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas de aplicación. Para representar la semántica del mundo

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Tema 5. DML (Parte II)

Tema 5. DML (Parte II) Tema 5 DML (Parte II) IES Francisco Romero Vargas Departamento de Informática Tema 5. DML (II). Página 1 de 12 1. Introducción Se insta al alumno a navegar por el manual de referencia de MySQL con el fin

Más detalles

Cuestión: Proceso de consultas en BD Relacionales. Problema 1: Diseño conceptual

Cuestión: Proceso de consultas en BD Relacionales. Problema 1: Diseño conceptual Cuestión: Proceso de consultas en BD Relacionales Políticas y heurísticas para la optimización de árboles algebraicos. Peso: 5% Tiempo:5min Problema : Diseño conceptual Una empresa decide crear un portal

Más detalles

Programando con PL/SQL en una Base de Datos Oracle

Programando con PL/SQL en una Base de Datos Oracle Programando con PLSQL en una Base de Datos Oracle Instructor: Ing. Francisco Riccio. OCA Oracle Database Administrator 10g OCP Oracle Database Administrator 10g OCP Oracle Database Administrator 11g OCA

Más detalles

1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server

1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server SQL Server 1. Se usará la Base de Datos llamada LaConsentida. use LaConsentida 2. Borrar la tabla CtasBanc anterior y crearla: create table CtasBanc (IdCuenta int identity primary key, tipo char(10), saldo

Más detalles

PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL.

PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL. ÍNDICE PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL. 1 Introducción... 1 Unidades léxicas... 7 Tipos de datos... 11 Declaración de variables... 15 CAPÍTULO 2. ESTRUCTURAS DE CONTROL 21 Introducción...

Más detalles

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Procedimientos almacenados en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Ventajas... Los bloques se pueden almacenar en forma permanente mediante subprogramas (funciones

Más detalles

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas

Bases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas Bases de Datos / Elementos de Bases de Datos 2011 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Que es un Stored

Más detalles

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n.

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n. 41012 SEVILLA 1 DISEÑO DE BASES DE DATOS (23 Septiembre 2003) Problema

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

Más detalles

Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers. Tecnólogo en Informática, sede Paysandú Bases de Datos 2

Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers. Tecnólogo en Informática, sede Paysandú Bases de Datos 2 Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers Tecnólogo en Informática, sede Paysandú Bases de Datos 2 Funciones Variables Declarar: DECLARE @ Asignar valor:

Más detalles

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas:

Los disparadores pueden ser utilizados para cumplir con alguna de las siguientes tareas: Guía de Disparadores Un disparador (o trigger) es un procedimiento almacenado asociado a una tabla que se ejecuta al realizar una operación básica (INSERT, un DELETE o un UPDATE) sobre ésta. La operación

Más detalles

Cursores Explícitos. Copyright Oracle Corporation, All rights reserved.

Cursores Explícitos. Copyright Oracle Corporation, All rights reserved. 8 Cursores Explícitos Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al final de esta lección, usted podrá: Distinguir entre un cursor explícito y otro implícito Utilizar una variable

Más detalles

Manual de desarrollo en PL/SQL

Manual de desarrollo en PL/SQL Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Manual de desarrollo en PL/SQL Área: Especificaciones de Codificación y Construcción

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) N O T A S D E L A M A T E R I A B A S E S D E D A T O S I L I C E N C I A T U R A E N C I E N C I A S D E L A C O M P U T A C I Ó N U N I V E R S I D A D D E

Más detalles

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005)

Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005) Disparadores en ORACLE Bibliografía Oracle Database Concepts - 10g Release 2 (10.2) (Octubre 2005) Oracle Database Application Developer's Guide Fundamentals 10g Release 2 (10.2) (Noviembre 2005) Óscar

Más detalles

Los disparadores pueden emplearse para muchas cosas diferentes, incluyendo:

Los disparadores pueden emplearse para muchas cosas diferentes, incluyendo: Triggers en Oracle Nuestro objetivo para este artículo es intentar mostrar un breve panorama de cómo crear TRIGGERS (disparadores o gatilladores [1]) para bases de datos bajo Oracle 8, asi como describir

Más detalles

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN PL/SQL CURSORES

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN PL/SQL CURSORES PREVIO 8 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN PLSQL CURSORES INTRODUCCIÓN Como vimos en la práctica de procedimientos dentro de PLSQL la orden SELECT no devuelve más de una fila. Si deseamos obtener

Más detalles

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (31 de enero de 2008)

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (31 de enero de 2008) EXAMEN: BASES DE DATOS 4º Ingeniería Informática (31 de enero de 2008) Autorizo la publicación de la nota del examen junto a mi número de matrícula, tanto en la Web como en los tablones SI NO PARTE TEÓRICA

Más detalles

Bases de Datos / Elementos de Bases de Datos 2015

Bases de Datos / Elementos de Bases de Datos 2015 Bases de Datos / Elementos de Bases de Datos 2015 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Stored Procedures

Más detalles

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos Objetivos Presentar la sintaxis de creación de tablas Diferencia con SQL/92 Presentar la sintaxis de la modificación de definición de una tabla Presentar

Más detalles

Otros objetos de Base de Datos

Otros objetos de Base de Datos Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Secuencias Triggers Vistas Código almacenado

Más detalles

FIREBIRD: SQL PROCEDIMENTAL (PSQL)

FIREBIRD: SQL PROCEDIMENTAL (PSQL) FIREBIRD: SQL PROCEDIMENTAL (PSQL) Vicente Tejero Trueba Pag 1 IES Pedro Espinosa FIREBIRD: SQL PROCEDIMENTAL (PSQL) 1.- INTRODUCCION...1 2.- EXTENSIONES DEL LENGUAJE...2 2.1.- Terminadores...2 2.2.- Variables...3

Más detalles

Lo primero que se llevó a cabo fue la creación del entorno. Esto se llevó a cabo por medio de un usuario con privilegios DBA:

Lo primero que se llevó a cabo fue la creación del entorno. Esto se llevó a cabo por medio de un usuario con privilegios DBA: 3UiFWLFD364 3DVRV,QLFLDOHV&UHDFLyQGHO(QWRUQR Lo primero que se llevó a cabo fue la creación del entorno. Esto se llevó a cabo por medio de un usuario con privilegios DBA: &UHDFLyQGHOD7$%(63$&(868$5,26

Más detalles

Disparadores en ORACLE

Disparadores en ORACLE Diseño de Bases de Datos y Seguridad de la Información PL/SQL-1 PL/SQL: lenguaje de programación estructurado en bloques Bloques: unidad mínima en PL/SQL Soportan DML y DDL Anónimos / Con nombre Disparadores

Más detalles

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013 Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 203 Enunciado del ejercicio En los servidores de bases de asignados al curso: Sybase, MS SQL Server y Oracle, elaborar el ejercicio sobre aislamiento,

Más detalles

Tema 7. Triggers, procedimientos y funciones en MySQL JOSÉ JUAN SÁNCHEZ HERNÁNDEZ

Tema 7. Triggers, procedimientos y funciones en MySQL JOSÉ JUAN SÁNCHEZ HERNÁNDEZ Tema 7. Triggers, procedimientos y funciones en MySQL JOSÉ JUAN SÁNCHEZ HERNÁNDEZ IES Celia Viñas (Almería) - 2017/2018 Índice general 1 Triggers, procedimientos y funciones en MySQL 4 1.1 Procedimientos............................................

Más detalles

Unidad III. Bases de Datos

Unidad III. Bases de Datos Clase:11 1 Unidad III Bases de Datos 2 SQL. Comandos de DDL. Comandos de DML. Agenda 3 SQL Structured Query Language SQL Los comandos del SQL pueden dividirse en tres grupos: Comandos de definición de

Más detalles

Conceptos básicos de programación con PL/SQL

Conceptos básicos de programación con PL/SQL Conceptos básicos de programación con PL/SQL 1. Bloques PL/SQL 2. Tipos de Datos Estructurados 3. Funciones y Procedimientos 4. Paquetes 5. Disparadores de Base de Datos 1. Bloques PL/SQL 1.1 Introducción

Más detalles