18 - Valores por defecto (default) |
Un comercio que tiene un stand en una feria registra en una tabla llamada "visitantes" algunos datos de las personas que visitan o compran en su stand para luego enviarle publicidad de sus productos.
1- Elimine la tabla "visitantes"
2- Cree la tabla con la siguiente estructura:
create table visitantes( nombre varchar2(30), edad number(2), sexo char(1) default 'f', domicilio varchar2(30), ciudad varchar2(20) default 'Cordoba', telefono varchar(11), mail varchar(30) default 'no tiene', montocompra number (6,2) );
4- Analice la información que retorna la siguiente consulta:
select column_name,nullable,data_default from user_tab_columns where TABLE_NAME = 'VISITANTES';
Todos los campos admiten valores nulos; hay 3 campos con valores predeterminados.
5- Ingrese algunos registros sin especificar valores para algunos campos para ver cómo opera la cláusula "default":
insert into visitantes (domicilio,ciudad,telefono,mail,montocompra)
values ('Colon 123','Cordoba','4334455','juanlopez@hotmail.com',59.80);
insert into visitantes (nombre,edad,sexo,telefono,mail,montocompra)
values ('Marcos Torres',29,'m','4112233','marcostorres@hotmail.com',60);
insert into visitantes (nombre,edad,sexo,domicilio,ciudad)
values ('Susana Molina',43,'f','Bulnes 345','Carlos Paz');
6- Recupere todos los registros.
Los campos de aquellos registros para los cuales no se ingresó valor almacenaron el valor por defecto ("null" o el especificado con "default").
7- Use la palabra "default" para ingresar valores en un "insert"
8- Recupere el registro anteriormente ingresado.
Ver solución
drop table visitantes;
create table visitantes(
nombre varchar2(30),
edad number(2),
sexo char(1) default 'f',
domicilio varchar2(30),
ciudad varchar2(20) default 'Cordoba',
telefono varchar(11),
mail varchar(30) default 'no tiene',
montocompra number (6,2)
);
select column_name,nullable,data_default
from user_tab_columns where TABLE_NAME = 'VISITANTES';
insert into visitantes (domicilio,ciudad,telefono,mail,montocompra)
values ('Colon 123','Cordoba','4334455','juanlopez@hotmail.com',59.80);
insert into visitantes (nombre,edad,sexo,telefono,mail,montocompra)
values ('Marcos Torres',29,'m','4112233','marcostorres@hotmail.com',60);
insert into visitantes (nombre,edad,sexo,domicilio,ciudad)
values ('Susana Molina',43,'f','Bulnes 345','Carlos Paz');
select *from visitantes;
insert into visitantes
values ('Marcela Morales',default,default,'Avellaneda 292',default,'4255232',default,default);
select *from visitantes where nombre='Marcela Morales';
Una pequeña biblioteca de barrio registra los préstamos de sus libros en una tabla llamada "prestamos". En ella almacena la siguiente información: título del libro, documento de identidad del socio a quien se le presta el libro, fecha de préstamo, fecha en que tiene que devolver el libro y si el libro ha sido o no devuelto.
1- Elimine la tabla "prestamos"
2- Cree la tabla:
create table prestamos( titulo varchar2(40) not null, documento char(8) not null, fechaprestamo date not null, fechadevolucion date, devuelto char(1) default 'n' );
3- Consulte "user_tab_columns" y analice la información.
Hay 3 campos que no admiten valores nulos y 1 solo campo con valor por defecto.
4- Ingrese algunos registros omitiendo el valor para los campos que lo admiten.
5- Seleccione todos los registros.
6- Ingrese un registro colocando "default" en los campos que lo admiten y vea cómo se almacenó.
7- Intente ingresar un registro colocando "default" como valor para un campo que no admita valores nulos y no tenga definido un valor por defecto.
drop table prestamos;
create table prestamos(
titulo varchar2(40) not null,
documento char(8) not null,
fechaprestamo date not null,
fechadevolucion date,
devuelto char(1) default 'n'
);
select column_name,nullable,data_default
from user_tab_columns where TABLE_NAME = 'PRESTAMOS';
insert into prestamos (titulo,documento,fechaprestamo,fechadevolucion)
values ('Manual de 1 grado','23456789','15/12/2017','18/12/2017');
insert into prestamos (titulo,documento,fechaprestamo)
values ('Alicia en el pais de las maravillas','23456789','16/12/2017');
select *from prestamos;
insert into prestamos
values('Manual de historia','32555666','25/10/2017',default,default);
select *from prestamos;
insert into prestamos values('Manual de aritmetica',default,'10/10/2017','12/10/2017','s');