Está en la página 1de 4

Insercion de datos

Insercin de nuevas filas La forma ms directa de insertar una fila nueva en una tabla es mediante una sentencia INSERT. En la forma ms simple de esta sentencia debemos indicar la tabla a la que queremos aadir filas, y los valores de cada columna. Las columnas de tipo cadena o fechas deben estar entre comillas sencillas o dobles, para las columnas nmericas esto no es imprescindible, aunque tambin pueden estar entrecomilladas. mysql> INSERT INTO gente VALUES ('Fulano','1974-04-12'); Query OK, 1 row affected (0.05 sec) mysql> INSERT INTO gente VALUES ('Mengano','1978-06-15'); Query OK, 1 row affected (0.04 sec) mysql> INSERT INTO gente VALUES -> ('Tulano','2000-12-02'), -> ('Pegano','1993-02-10'); Query OK, 2 rows affected (0.02 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM gente; +---------+------------+ | nombre | fecha | +---------+------------+ | Fulano | 1974-04-12 | | Mengano | 1978-06-15 | | Tulano | 2000-12-02 | | Pegano | 1993-02-10 | +---------+------------+ 4 rows in set (0.08 sec) mysql> Si no necesitamos asignar un valor concreto para alguna columna, podemos asignarle el valor por defecto indicado para esa columna cuando se cre la tabla, usando la palabra DEFAULT: mysql> INSERT INTO ciudad2 VALUES ('Perillo', DEFAULT); Query OK, 1 row affected (0.03 sec) mysql> SELECT * FROM ciudad2;

+---------+-----------+ | nombre | poblacion | +---------+-----------+ | Perillo | 5000 | +---------+-----------+ 1 row in set (0.02 sec)

modificacion de datos
Generalmente, los valores de los datos almacenados en una base de datos se modifican cuando se producen cambios correspondientes en el mundo exterior. Por ejemplo, cuando un cliente modifica un pedido, un director se traslada de una oficina a otra, etc. En cada caso, los valores de los datos en la base de datos se actualizan para mantener la base de datos como un modelo preciso del mundo real. La unidad ms pequea de datos que puede modificarse en una base de datos es una nica columna de una nica fila. 4.4.1 La sentencia UPDATE. La sentencia UPDATE, cuyo diagrama sintctico se muestra en la figura 4.4.1.1, modifica los valores de una o ms columnas en las filas seleccionadas de una nica tabla. La tabla destino a actualizar se indica en la sentencia, y es necesario disponer de permiso para actualizar la tabla adems de cada una de las columnas individuales que sern modificadas. La clusula WHERE selecciona las filas de la tabla a modificar. La clusula SET especifica que columnas se van a actualizar y calcula los nuevos valores. Ciencias y Tcnicas Estadsticas 10 Adquisicin y tratamiento de datos El lenguaje SQL II: Introduccin, modificacin... UPDATE nombre de tabla SET nombre de columna = expresin , WHERE condicin de bsqueda Figura 4.4.1.1: Diagrama sintctico de la sentencia UPDATE. Por ejemplo, la siguiente sentencia UPDATE modifica el limite de crdito y el vendedor asignado a un cliente: UPDATE clientes SET limite_credito=60000,rep_clie=109 WHERE empresa=Pino S.L.

borrado de datos
Para borrar datos de una tabla, debemos utilizar la sentencia DELETE.

La sintaxis de la sentencia DELETE es la siguiente:


DELETE FROM <nombre_tabla> [ WHERE <condicion>];

El siguiente ejemplo ilustra el uso de la sentencia DELETE. Es buena idea especificar en la sentencia WHERE los campos que forman la clave primaria de la tabla para evitar borrar datos que no queramos eliminar.
DELETE FROM tCoches WHERE marca = 'SEAT'; La sintaxis de DELETE varia en Access, siendo necesario el uso del comodn *. DELETE * FROM <tCoches>

Cuando trabajemos con la sentencia DELETE debemos tener en cuenta las siguientes consideraciones: Solo podemos borrar datos de una nica tabla. Cuando borramos datos de una vista, los estamos borrando tambin de la tabla. Las vistas son solo una forma de ver los datos, no una copia. Si intentamos borrar un registro de una tabla referenciada por una FOREING KEY como tabla maestra, si la tabla dependiente tiene registros relacionados la sentencia DELETE fallar.

TRIGGERS
Un trigger es un bloque PL/SQL asociado a una tabla, que se ejecuta como consecuencia de una determinada instruccin SQL (una operacin DML: INSERT, UPDATE o DELETE) sobre dicha tabla.

La sintaxis para crear un trigger es la siguiente:


CREATE [OR REPLACE] TRIGGER <nombre_trigger> {BEFORE|AFTER} {DELETE|INSERT|UPDATE [OF col1, col2, ..., colN] [OR {DELETE|INSERT|UPDATE [OF col1, col2, ..., colN]...]} ON <nombre_tabla> [FOR EACH ROW [WHEN (<condicion>)]] DECLARE -- variables locales BEGIN -- Sentencias [EXCEPTION] -- Sentencias control de excepcion END <nombre_trigger>;

PARA QUE NOS SIRVE UN TRIGGER?

Son ampliamente empleados en la personalizacion de la Administracion de la BD por ejemplo: un TRIGGER puede reestringir las operaciones DML sobre una tabla en particular en ciertas horas del dia, durante una o varias semanas o incluso meses.Otras aplicaciones de los TRIGGERS pueden ser las siguientes:1.- Generacion automatica de valores derivados de una columna2.- Prevenir transacciones invalidas3.- Proporcionar auditorias sofisticadas4.Mantener la sincronia en tablas replicadas5.- Generar estadisticas de acceso6.- Modificar los valores de una vista7.- Publicar informacion de los eventos generados por la Bd.

IMPLEMENTACION DE TRIGGER EN POSTGRES Algunos otros sistemas de base de datos definen reglas de base de datos activas. stas son habitualmente procedimientos y disparadores (a partir de aqu utilizar el trmino ms habitual de "trigger") almacenados y se implementan en Postgres como funciones y triggers. Son muchas las cosas que se hacen utilizando triggers que pueden hacerse tambin utilizando el sistema de las reglas de Postgres. Lo que actualmente no se puede implementar a travs de reglas son algunos tipos de restricciones (constraints). Es posible situar una regla cualificada que reescriba una query a NOTHING si el valor de la columna no aparece en otra tabla, pero entonces los datos son eliminados silenciosamente, y eso no es una buena idea. Si se necesitan comprobaciones para valores vlidos, y en el caso de aparecer un valor invlido dar un mensaje de error, eso deber hacerse por ahora con un trigger. Por otro lado, un trigger que se dispare a partir de una INSERT en una vista puede hacer lo mismo que una regla, situar los datos en cualquier otro sitio y suprimir la insercin en una vista. Pero no puede hacer lo mismo en una UPDATE o una DELETE, porque no hay datos reales en la relacin vista que puedan ser comprobados, y por ello el trigger nunca podra ser llamado. Slo una regla podra ayudarnos.

http://www.devjoker.com/contenidos/catss/54/Triggers-en-PLSQL.aspx informatica.uv.es/estguia/ATD/apuntes/teoria/.../SQL-II.pdf www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r69187.PDF http://alejandro354.blogspot.mx/2006/05/t-r-i-g-g-e-r-para-que-nos-sirve-un.html http://janeidi.blogspot.mx/2006/06/implementacion-de-triggers-en-postgres.html

También podría gustarte