89 - Vistas (otras consideraciones: force) |
Una empresa almacena la información de sus clientes en una tabla llamada "clientes".
1- Elimine la tabla:
drop table clientes;
2- Elimine la vista "vista_clientes":
drop view vista_clientes;
3- Intente crear o reemplazar la vista "vista_clientes" para que muestre el nombre, domicilio y ciudad de todos los clientes de "Cordoba" (sin emplear "force")
Mensaje de error porque la tabla referenciada no existe.
4- Cree o reemplace la vista "vista_clientes" para que recupere el nombre, apellido y ciudad de todos los clientes de "Cordoba" empleando "force"
5- Cree la tabla:
create table clientes( nombre varchar2(40), documento char(8), domicilio varchar2(30), ciudad varchar2(30) );
6- Ingrese algunos registros:
insert into clientes values('Juan Perez','22222222','Colon 1123','Cordoba'); insert into clientes values('Karina Lopez','23333333','San Martin 254','Cordoba'); insert into clientes values('Luis Garcia','24444444','Caseros 345','Cordoba'); insert into clientes values('Marcos Gonzalez','25555555','Sucre 458','Santa Fe'); insert into clientes values('Nora Torres','26666666','Bulnes 567','Santa Fe'); insert into clientes values('Oscar Luque','27777777','San Martin 786','Santa Fe'); insert into clientes values('Pedro Perez','28888888','Colon 234','Buenos Aires'); insert into clientes values('Rosa Rodriguez','29999999','Avellaneda 23','Buenos Aires');
7- Cree o reemplace la vista "vista_clientes" para que muestre todos los campos de la tabla "clientes"
8- Consulte la vista
9- Agregue un campo a la tabla "clientes"
10- Consulte la vista "vista_clientes"
El nuevo campo agregado a "clientes" no aparece, pese a que la vista indica que muestre todos los campos de dicha tabla.
11- Modifique la vista para que aparezcan todos los campos
12- Consulte la vista:
Ahora si aparece el campo.
drop table clientes; drop view vista_clientes; create or replace view vista_clientes as select nombre, ciudad from clientes where ciudad ='Cordoba'; create or replace force view vista_clientes as select nombre, ciudad from clientes where ciudad ='Cordoba'; create table clientes( nombre varchar2(40), documento char(8), domicilio varchar2(30), ciudad varchar2(30) ); insert into clientes values('Juan Perez','22222222','Colon 1123','Cordoba'); insert into clientes values('Karina Lopez','23333333','San Martin 254','Cordoba'); insert into clientes values('Luis Garcia','24444444','Caseros 345','Cordoba'); insert into clientes values('Marcos Gonzalez','25555555','Sucre 458','Santa Fe'); insert into clientes values('Nora Torres','26666666','Bulnes 567','Santa Fe'); insert into clientes values('Oscar Luque','27777777','San Martin 786','Santa Fe'); insert into clientes values('Pedro Perez','28888888','Colon 234','Buenos Aires'); insert into clientes values('Rosa Rodriguez','29999999','Avellaneda 23','Buenos Aires'); create or replace view vista_clientes as select *from clientes; select *from vista_clientes; alter table clientes add telefono char(11); select *from vista_clientes; create or replace view vista_clientes as select *from clientes; select *from vista_clientes;