89 - Vistas (otras consideraciones) |
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;