Vistas

Solo disponible en BuenasTareas
  • Páginas : 4 (869 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de marzo de 2011
Leer documento completo
Vista previa del texto
VISTAS
Vamos a recordar el formato de creación de VISTAS

SQL > CREATE [OR REPLACE ] VIEW nombre [ columnas...]
AS
consulta
[WITH {CHECK OPTION | READONLY | CONSTRAINT nombre} ]

• Si usamos OR REPLACE creamos de nuevo la vista si ya existía
• Podemos usar una condición WHERE para crear la vista
• WITH CHECK OPTION es la opción quesirve para que compruebe de forma automática cada operación INSERT ó UPDATE que hagamos sobre la vista para que satisfagan el criterio de definición de la vista
• WITH READ ONLY es la opciónque sirve para indicar que solo se puede hacer SELECT sobre la vista
• CONSTRAINT nombre indica el nombre que tiene la restricción (una de las opciones anteriores) que se pone

PRIMER CASO: Vamosa crear una vista con campos de una sola tabla por ejemplo la vista EMP_1 con los campos: numero de empleado, apellido y salario

SQL> CREATE OR REPLACE VIEW EMP_1
AS SELECT EMP_NO,APELLIDO, SALARIO
FROM EMPLE;

SQL> SELECT * FROM EMP_1; nos muestra todos los registros

En principio podemos probar a insertar, borrar ó actualizar registros y tanto si lo hacemos en la vistaEMP_1 como si lo hacemos en la tabla EMPLE en cualquiera de los casos las dos estructuras se verán afectadas
Cuidado: Siempre debemos considerar que todas las restricciones que se usaron a la hora decrear la tabla al realizar inserciones ó actualizaciones de campos como por ejemplo los campos obligatorios (NOT NULL), los rangos de valores etc

En este caso particular para la vista EMP_1 estosignifica que por ejemplo yo puedo hacer actualizaciones, inserciones y borrados sobre las filas ó los campos de la tabla emple que cumplan las restricciones y esto se reflejara en la vista pero en elcaso de la vista puedo actualizar (según restricciones y borrar) pero nunca puedo hacer inserciones dado que la tabla EMPLE posee un campo dept_no que esta declarado como NOT NULL y como no aparece en...
tracking img