11 - Valores nulos (null) |
Una farmacia guarda información referente a sus medicamentos en una tabla llamada "medicamentos".
1- Elimine la tabla y créela con la siguiente estructura:
drop table medicamentos; create table medicamentos( codigo number(5) not null, nombre varchar2(20) not null, laboratorio varchar2(20), precio number(5,2), cantidad number(3,0) not null );
3- Visualice la estructura de la tabla "medicamentos"
note que los campos "codigo", "nombre" y "cantidad", en la columna "Null" muestra "NOT NULL".
4- Ingrese algunos registros con valores "null" para los campos que lo admitan:
insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(1,'Sertal gotas',null,null,100); insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(2,'Sertal compuesto',null,8.90,150); insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(3,'Buscapina','Roche',null,200);
5- Vea todos los registros.
6- Ingrese un registro con valor "0" para el precio y cadena vacía para el laboratorio.
7- Intente ingresar un registro con cadena vacía para el nombre (mensaje de error)
8- Intente ingresar un registro con valor nulo para un campo que no lo admite (aparece un mensaje de error)
9- Ingrese un registro con una cadena de 1 espacio para el laboratorio.
10- Recupere los registros cuyo laboratorio contenga 1 espacio (1 registro)
11- Recupere los registros cuyo laboratorio sea distinto de ' '(cadena de 1 espacio) (1 registro)
Ver solucióndrop table medicamentos; create table medicamentos( codigo number(5) not null, nombre varchar2(20) not null, laboratorio varchar2(20), precio number(5,2), cantidad number(3,0) not null ); describe medicamentos; insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(1,'Sertal gotas',null,null,100); insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(2,'Sertal compuesto',null,8.90,150); insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(3,'Buscapina','Roche',null,200); select *from medicamentos; insert into medicamentos (codigo,nombre, laboratorio,precio,cantidad) values(4,'Bayaspirina','',0,150); insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(0,'','Bayer',15.60,200); insert into medicamentos (codigo,nombre,laboratorio,precio,cantidad) values(null,'Amoxidal jarabe','Bayer',25,120); insert into medicamentos (codigo,nombre, laboratorio,precio,cantidad) values(5,'Geniol',' ',0.5,200); select *from medicamentos where laboratorio=' '; select *from medicamentos where laboratorio<>' ';
Trabaje con la tabla que almacena los datos sobre películas, llamada "peliculas".
1- Elimine la tabla:
2- Créela con la siguiente estructura:
create table peliculas( codigo number(4) not null, titulo varchar2(40) not null, actor varchar2(20), duracion number(3) );
3- Visualice la estructura de la tabla.
note que el campo "codigo" y "titulo", en la columna "Null" muestran "NOT NULL".
4- Ingrese los siguientes registros:
insert into peliculas (codigo,titulo,actor,duracion) values(1,'Mision imposible','Tom Cruise',120); insert into peliculas (codigo,titulo,actor,duracion) values(2,'Harry Potter y la piedra filosofal',null,180); insert into peliculas (codigo,titulo,actor,duracion) values(3,'Harry Potter y la camara secreta','Daniel R.',null); insert into peliculas (codigo,titulo,actor,duracion) values(0,'Mision imposible 2','',150); insert into peliculas (codigo,titulo,actor,duracion) values(4,'Titanic','L. Di Caprio',220); insert into peliculas (codigo,titulo,actor,duracion) values(5,'Mujer bonita','R. Gere-J. Roberts',0);
5- Recupere todos los registros para ver cómo Oracle los almacenó.
6- Intente ingresar un registro con valor nulo para campos que no lo admiten (aparece un mensaje de error)
7- Muestre todos los registros.
8- Actualice la película en cuyo campo "duracion" hay 0 por "null" (1 registro)
9- Recupere todos los registros.
drop table peliculas; create table peliculas( codigo number(4) not null, titulo varchar2(40) not null, actor varchar2(20), duracion number(3) ); describe peliculas; insert into peliculas (codigo,titulo,actor,duracion) values(1,'Mision imposible','Tom Cruise',120); insert into peliculas (codigo,titulo,actor,duracion) values(2,'Harry Potter y la piedra filosofal',null,180); insert into peliculas (codigo,titulo,actor,duracion) values(3,'Harry Potter y la camara secreta','Daniel R.',null); insert into peliculas (codigo,titulo,actor,duracion) values(0,'Mision imposible 2','',150); insert into peliculas (codigo,titulo,actor,duracion) values(4,'Titanic','L. Di Caprio',220); insert into peliculas (codigo,titulo,actor,duracion) values(5,'Mujer bonita','R. Gere-J. Roberts',0); select *from peliculas; insert into peliculas (codigo,titulo,actor,duracion) values(null,'Mujer bonita','R. Gere-J. Roberts',190); select *from peliculas; update peliculas set duracion=null where duracion=0; select *from peliculas;