ewghetjt4hgweghthgwqfg

Páginas: 5 (1199 palabras) Publicado: 3 de junio de 2014
Creación de secuencias
CREATE SEQUENCE "INCREMENTO_ID_SOLICITUD" MINVALUE 1 INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE "INCREMENTO_ID_EDIFICIO" MINVALUE 1 INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE "INCREMENTO_ID_USUARIO" MINVALUE 1 INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE "INCREMENTO_ID_COTIZACION" MINVALUE 1 INCREMENT BY 1 START WITH 1;

CREATE SEQUENCE"INCREMENTO_ID_PRODUCTO" MINVALUE 1 INCREMENT BY 1 START WITH 1;

Creación de tablas

create table detalleedificio(
idedificio int
,idusuario int);

create table edificio(
idedificio int primary key
,nombre varchar2(50)
,direccion varchar2(120)
,descripcion varchar2(200));

create table funcionalidad(
idfuncionalidad int primary key
,nombre varchar2(50)
,url varchar2(120)
,descripcionvarchar2(120)
,vigencia varchar2(5));

create table perfil(
idperfil int primary key
,nombre varchar2(50)
,descripcion varchar2(130));

create table perfilfuncionalidad(
idperfil int
,idfuncionalidad int);







create table solicitudes(
idsolicitud int primary key
,idedificio int
,descripcionsolicitud varchar2(300)
,estado varchar2(20)
,nombrecliente varchar2(200)
,telefonovarchar2(20)
,direccion varchar2(100)
,fecha varchar2(20));

create table usuario(
idusuario int primary key
,idperfil int
,username varchar2(20)
,passwd varchar2(20)
,rut varchar2(20)
,nombres varchar2(100)
,apellidopaterno varchar2(25)
,apellidomaterno varchar2(25)
,correo varchar2(50)
,telefono varchar2(20)
,direccion varchar2(50)
,estado varchar2(5));

create tableproductocotizacion(
idproducto int
,idcotizacion int);

create table cotizacion(
idcotizacion int primary key
,idsolicitud int
,nombrecliente varchar2(100)
,telefonocliente varchar2(20)
,estado varchar2(5)
,direccioncliente varchar2(50)
,fecha varchar2(20)
,inspeccion varchar2(30)
,totalcotizacion int);

create table producto(
idproducto int primary key
,codigo varchar2(30)
,nombrevarchar2(50)
,descripcion varchar2(120)
,precio int
,vigencia varchar2(5)
,cantidad int
,marca varchar2(50));

Foreign keys

ALTER TABLE solicitudes
ADD CONSTRAINT fk_idEdificio FOREIGN KEY (idedificio)
REFERENCES edificio (idedificio);

ALTER TABLE cotizacion
ADD CONSTRAINT fk_idsolicitud FOREIGN KEY (idsolicitud)
REFERENCES solicitudes (idsolicitud);

ALTER TABLE usuario
ADDCONSTRAINT fk_idperfil FOREIGN KEY (idperfil)
REFERENCES perfil (idperfil);




Procedimiento para agregar Edificios

create or replace PROCEDURE AgregarEdificio(usuarioId in int, edificioId in int, nom in varchar2,dire in varchar2, des in varchar2, operacion in varchar)
IS
w_ideedificio int;
BEGIN
if operacion = '1' then
select incremento_id_edificio.nextVal into w_ideedificio from dual;insert into EDIFICIO values(w_ideedificio, nom ,dire ,des);commit;
insert into detalleedificio values(w_ideedificio,usuarioId);commit;
else
update edificio e set
e.nombre = nom
,e.direccion = dire
,e.descripcion = des where e.idedificio = edificioId;
update detalleedificio set
idusuario = usuarioId
where idedificio = edificioId;
commit;
end if;
END AgregarEdificio;Procedimiento para agregar Cotización

create or replace PROCEDURE AgregarCotizacion(cotizacionId in int, solicitudId in int,
productoId in int,nom in varchar2, tel in varchar2, est in varchar2, dir in varchar2,
fecha in varchar2, insp in varchar2, total in int,operacion in int)
IS
BEGIN
if operacion = '1' then
insert into cotizacionvalues(incremento_id_cotizacion.nextVal,solicitudId,nom,tel,est,dir,fecha,insp,total);commit;

else
update cotizacion c set
c.nombrecliente = nom
,c.telefonocliente = tel
,c.estado= est
,c.direccioncliente = dir
,c.fecha = fecha
,c.inspeccion = insp
,c.totalcotizacion = total
,c.idsolicitud = solicitudId where c.idsolicitud = solicitudId;
update productocotizacion set
idproducto = productoId
where idcotizacion = cotizacionId;...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS