Primer problema:
Una empresa registra los datos de sus empleados en una tabla llamada "empleados".
1 - Cree la secuencia "sec_legajoempleados" estableciendo el valor mínimo (1), máximo (999),
valor inicial (100), valor de incremento (2) y no circular.
2- Cree la tabla:
create table empleados(
legajo bigint default nextval('sec_legajoempleados'),
documento char(8) not null,
nombre varchar(30) not null,
primary key(legajo)
);
3 - Ingrese algunos registros:
insert into empleados(documento,nombre)
values ('22333444','Ana Acosta');
insert into empleados(documento,nombre)
values ('23444555','Betina Bustamante');
insert into empleados(documento,nombre)
values ('24555666','Carlos Caseros');
insert into empleados(documento,nombre)
values ('25666777','Diana Dominguez');
insert into empleados(documento,nombre)
values ('26777888','Estela Esper');
4 - Recupere los registros de la tabla empleados.
5 - Efectue un select de la secuencia.
6 - Elimine la secuencia y la tabla asociada a dicha secuencia.
Ver solución
drop table if exists empleados;
drop sequence if exists sec_legajoempleados;
create sequence sec_legajoempleados
start with 100
minvalue 1
maxvalue 999
increment by 2;
create table empleados(
legajo bigint default nextval('sec_legajoempleados'),
documento char(8) not null,
nombre varchar(30) not null,
primary key(legajo)
);
insert into empleados(documento,nombre)
values ('22333444','Ana Acosta');
insert into empleados(documento,nombre)
values ('23444555','Betina Bustamante');
insert into empleados(documento,nombre)
values ('24555666','Carlos Caseros');
insert into empleados(documento,nombre)
values ('25666777','Diana Dominguez');
insert into empleados(documento,nombre)
values ('26777888','Estela Esper');
select * from empleados;
select * from sec_legajoempleados;
drop sec_legajoempleados;
Segundo problema:
Una empresa organiza un curso de computación (dispone de dos aulas), almacenar en una tabla
inscriptos los datos del estudiante. Cada vez que se inscribe un alumno asignarlo a un aula en
forma alternada (primero a la 1 y luego a la 2, luego nuevamente a la 1 y así sucesivamente)
1 - Crear una secuencia sec_codigoaulainscriptos (valor inicial 1, incremento 1, valor máximo 2 y
debe ser circular)
2 - Crear la tabla inscriptos:
create table inscriptos(
documento char(8) not null,
nombre varchar(30) not null,
codigocurso int default nextval('sec_codigoaulainscriptos'),
primary key(documento)
);
3 - Insertar algunos registros:
insert into inscriptos(documento,nombre) values ('20000000','Rodriguez Pablo');
insert into inscriptos(documento,nombre) values ('30000000','Mercado Ana');
insert into inscriptos(documento,nombre) values ('40000000','Morello Luis');
insert into inscriptos(documento,nombre) values ('50000000','Prado Juan');
insert into inscriptos(documento,nombre) values ('60000000','Solis Maria');
4 - Imprimir todos los alumnos del curso 1.
5 - Imprimir todos los alumnos del curso 2.
Ver solución
drop table if exists inscriptos;
drop sequence if exists sec_codigoaulainscriptos;
create sequence sec_codigoaulainscriptos
start with 1
minvalue 1
maxvalue 2
cycle;
create table inscriptos(
documento char(8) not null,
nombre varchar(30) not null,
codigocurso int default nextval('sec_codigoaulainscriptos'),
primary key(documento)
);
insert into inscriptos(documento,nombre) values ('20000000','Rodriguez Pablo');
insert into inscriptos(documento,nombre) values ('30000000','Mercado Ana');
insert into inscriptos(documento,nombre) values ('40000000','Morello Luis');
insert into inscriptos(documento,nombre) values ('50000000','Prado Juan');
insert into inscriptos(documento,nombre) values ('60000000','Solis Maria');
select * from inscriptos where codigocurso=1;
select * from inscriptos where codigocurso=2;