domingo, 26 de junio de 2011

ACTUALIZACION

     Para que una vista se pueda actualizar debe existir una relación directa entre las filas y columnas de la vista y las de la tabla fuente. Según el estándar ANSI, se puede actualizar a través de las vistas si la consulta que la define, satisface las siguientes restricciones:

1ª - No especifica DISTINCT
2ª - FROM debe especificar una única tabla
3ª - La lista de selección no puede contener expresiones, columnas calculadas o
funciones de columna, solo referencias a columnas simples.

4ª - WHERE no debe incluir subconsultas.
5ª - No debe incluir ni GROUP BY ni HAVING.
EJEMPLO:

1)    Crear una vista que muestre los vendedores de la región este. 

CREATE VIEW repEste AS
SELECT *
FROM RVENTAS
WHERE r_oficina IN (11,12,13); //que serían las situadas al Este
Ahora añadimos un nuevo vendedor a través de la vista.
INSERT INTO repEste (num_empl, nombre, r_oficina, edad, ventas)
VALUES (113, ‘Jorge Ruiz’, 11, 43, 0.00);
Ahora resulta que trasladan a otro empleado(104) a otra oficina (12).
UPDATE repEste


SET r_oficina = 21  //aquí se equivocan y en lugar de poner 12 ponen 21
WHERE num_empl = 104;
Con lo cual este señor no figuraría en la vista, pero sí en la tabla.

No hay comentarios:

Publicar un comentario