Documentos de Académico
Documentos de Profesional
Documentos de Cultura
go
use farmacia
go
create table clase
(codclase char(5)not null primary key,
nomclase varchar(50)not null)
insert into clase values('cl001','tableta')
insert into clase values('cl002','comprimido')
insert into clase values('cl003','polvo para suspencion')
insert into clase values('cl004','capsula')
insert into clase values('cl005','gel')
insert into clase values('cl006','gragea')
insert into clase values('cl007','suspension')
insert into clase values('cl008','jarabe')
select*from marca
go
go
create table cargo
(codcargo char(5)not null primary key,
nomcargo varchar(50)not null)
insert into cargo values('ca001','gerente')
insert into cargo values('ca002','administrador')
insert into cargo values('ca003','contador')
insert into cargo values('ca004','farmaceutico')
insert into cargo values('ca005','mantenimiento')
select * from cargo
go
create table servicios
(codserv char(5)not null primary key,
nomserv varchar(50)not null)
insert into servicios values('se001','consulta')
insert into servicios values('se002','radiografia')
insert into servicios values('se003','inyetables')
insert into servicios values('se004','terapia')
select * from servicios
go
create table [detalle servicios]
(coddetalle char(5)not null primary key,
codservi char(5)not null,
descservi varchar(50)not null,
precio decimal(10,2)not null
constraint fk_detalle_servicio
foreign key(codservi)
references servicios)
insert into [detalle servicios] values('ds001','se001','consultas y
diagnosticos',5.00)
insert into [detalle servicios] values('ds002','se002','placas seguras de
rayos x',25.00)
insert into [detalle servicios] values('ds003','se003','aplicaciones de
inyecciones con receta medica',10.00)
insert into [detalle servicios] values('ds004','se004','terapia de
dolencias corporales',20.00)
select * from [detalle servicios]
go
create table [tipo operacion]
(codopera char(5)not null primary key,
tipo varchar(50)not null)
insert into [tipo operacion]values('op001','venta')
insert into [tipo operacion]values('op002','servicios')
select * from [tipo operacion]
go
create table comprobante
(numcompo char(5)not null primary key,
ruccompo int not null,
operacion char(5)not null,
fecha datetime not null,
monto decimal(10,2)not null
constraint fk_comprobante_tipo
foreign key (operacion)
references [tipo operacion])
go
create table[detalle comprobante servicios]
(compser char(5)not null primary key,
comp char(5)not null,
serv char(5)not null,
subtotal decimal(10,2)not null
constraint fk_detalle_comprobante2
foreign key (comp)
references comprobante,
constraint fk_detalle_servicios
foreign key (serv)
references servicios)
insert into [detalle comprobante
servicios]values('cs001','co008','se001',10.00)
insert into [detalle comprobante
servicios]values('cs002','co007','se002',25.00)
select *from [detalle comprobante servicios]
go
go
create table cliente
(codclie char(5)not null primary key,
apeclie varchar(50)not null,
nomclie varchar(50)not null,
dirclie varchar(50)not null,
disclie char(5)not null,
telfclie varchar(10)not null,
dniclie int not null,
emailclie varchar(50)not null,
rucclie int not null
constraint fk_distrito_cliente
foreign key (disclie)
references distrito)
insert into cliente values('cl001','vargas','luis carlos','av el
solitario','d003','5421685',65845236,'lis@hotmail.com',3254169)
insert into cliente values('cl002','sanchez alcedo','carla','cocharcas
234','d005','5423685',84521569,'carlita@hotmail.com',2541689)
insert into cliente values('cl003','cardenas abantos','cesar','av los
angeles','d004','3256894',87452369,'cesar@hotmail.com',9845689)
insert into cliente values('cl004','fernadez locio','maria','los
almendros','d001','6541236',89456236,'mari@hotmail.com',65894567)
insert into cliente values('cl005','miranda gonzales','carolina','valle
sarom','d006','9854698',78456985,'carol@hotmail.com',9845632)
select * from cliente
go
create table empleado
(codemp char(5)not null primary key,
apeemple varchar(50)not null,
nomemple varchar (50)not null,
codcargo char(5)not null,
codis char(5)not null,
dniemp int not null,
telf int not null,
email varchar(50)not null
constraint fk_distrito_empleado
foreign key (codis)
references distrito,
constraint fk_cargo_empleado
foreign key(codcargo)
references cargo)
insert into empleado values('em01','huamani
cardenas','alberto','ca001','d001',58469856,5846958,'alb@hotmail.com')
insert into empleado values('em02','hermoza
vivanco','juan','ca002','d004',98545239,5645871,'juan@hotmail.com')
insert into empleado values('em03','miranda
vilchez','maria','ca003','d005',78541269,3652489,'mar@hotmail.com')
insert into empleado values('em04','gonzales
carpio','cesar','ca004','d002',54785412,6587412,'cesar@hotmail.com')
insert into empleado values('em05','hidalgo
enciso','fernando','ca005','d001',98745126,9856985,'fernan@hotmail.com')
insert into empleado values('em06','hernan
fuentes','kelly','ca004','d0021',69854125,2541256,'kelly@hotmail.com')
insert into empleado values('em07','leon
franco','ana','ca004','d0014',85698542,1254156,'anita@hotmail.com')
select *from empleado
go
go
go
go
create proc sp_eliminar_proveedor
@codigo char(5)
as
delete from proveedor where proveedor.codprove=@codigo;
go
select *from proveedor
go
create proc listar_pedido
as
select *from pedido;
go
create proc sp_listar_pago
as
select [forma de pago].codpago,[forma de pago].forma from [forma de
pago];
go
--seleccionar compra pro clase--
create proc usp_compras_clase
@clase char(5)
as
select
co.ncompra,clase.nomclase,producto.medicamento,marca.nommarca,co.precuni,
co.cantidad,co.prectotal ,co.fecha from compras co
inner join clase on co.clase=clase.codclase
inner join producto on producto.clase=clase.codclase
inner join marca on marca.codmarca=producto.marca
where clase.codclase=@clase;
go
--reportes compras por fechas--
create proc usp_compras_por_fechas
@inicio datetime,@final datetime
as
select
co.ncompra,clase.nomclase,producto.medicamento,marca.nommarca,co.precuni,
co.cantidad,co.prectotal ,co.fecha from compras co
inner join clase on co.clase=clase.codclase
inner join producto on producto.clase=clase.codclase
inner join marca on marca.codmarca=producto.marca
where co.fecha between @inicio and @final;
exec usp_compras_por_fechas '2010/01/01','2010/12/01'
go
--reportes ventas por fechas--
------------------------------
create proc usp_ventas_por_fechas
@inicio datetime,@final datetime
as
select
tip.tipo,e.apeemple,c.nomcargo,p.medicamento,m.nommarca,cl.nomclase,p.pre
cio,
co.monto from cargo c
inner join empleado e on c.codcargo=e.codcargo
inner join [detalle comprobante ventas] dtv on e.codemp=dtv.emple
inner join ((producto p
inner join marca m on p.marca=m.codmarca)inner join clase cl on
p.clase=cl.codclase )on p.codpro=dtv.prod
inner join (comprobante co inner join [tipo operacion]tip on
co.operacion=tip.codopera ) on dtv.numcompo=co.numcompo
where co.fecha between @inicio and @final
go
--traer personal para contrase;a--
----------------------------------
create proc usp_listar_usuario
as
select [usuario personal].uper,[usuario personal].nomper from [usuario
personal];
go
create proc usp_listarclase
as
select clase.codclase,clase.nomclase from clase;
go
create proc usp_listarmarca
as
select marca.codmarca,marca.nommarca from marca;
go
create proc usp_listarprovedor
as
select proveedor.codprove,proveedor.nomprove from proveedor;
go
create proc sp_listar_distrito
as
select distrito.coddis,distrito.nomdis from distrito;
go
create proc usp_tablaxclase
@codigo char(5)
as
select
tip.tipo,e.apeemple,c.nomcargo,p.medicamento,m.nommarca,cl.nomclase,p.pre
cio,
co.monto from cargo c
inner join empleado e on c.codcargo=e.codcargo
inner join [detalle comprobante ventas] dtv on e.codemp=dtv.emple
inner join ((producto p
inner join marca m on p.marca=m.codmarca)inner join clase cl on
p.clase=cl.codclase )on p.codpro=dtv.prod
inner join (comprobante co inner join [tipo operacion]tip on
co.operacion=tip.codopera ) on dtv.numcompo=co.numcompo
where cl.codclase=@codigo
go
create proc sp_productoxclase
@codigo char(5)
as
select
p.codpro,m.nommarca,p.medicamento,c.nomclase,p.concentracion,p.precio,p.f
echacompra,p.receta,pr.nomprove,p.cantidad,p.medida from ((producto p
inner join marca m on m.codmarca=p.marca)
inner join clase c on c.codclase=p.clase)
inner join proveedor pr on pr.codprove=p.prove where c.codclase=@codigo;
go
create proc sp_productoxclase2
@clase char(5)
as
select p.medicamento from producto p inner join clase c on
c.codclase=p.clase
where c.codclase=@clase;
go
create proc sp_productoxclase3
@nom varchar(50)
as
select p.precio ,p.medicamento,p.cantidad,p.fechacompra,c.nomclase from
producto p
inner join clase c on c.codclase=p.clase where p.medicamento=@nom;
go
select * from producto
go
usp_listarClase
go
create Procedure [usp_Pedidos_Agregar]
(@nump int OUTPUT,
@Codclie char(5),
@CodEmple char(5),
@Fechapedido datetime,
@Formapago char(5),
@total decimal
)
as
insert into pedido (codclie, codper, fecha,fpago,total)
values (@Codclie, @CodEmple, @Fechapedido,@Formapago,@total)
select @nump=@@Identity
go
create Procedure usp_Pedidos_Detalles_Agregar
(@nump int,
@codpro char(5),
@precio money,
@cantidad money,
@Subtotal money)
as
insert into detallePedido (numped, codpro, precio,cantidad,Subtotal)
Values (@nump, @codpro, @precio, @cantidad,@Subtotal)
go
create Procedure usp_Productos_ActualizarStock
(@codpro char(5),
@cantidad int)
as
Update Producto set cantidad = cantidad - @cantidad
where codpro = @codpro
go
create PROCEDURE [usp_Productos_HallarPrecio]
(@ProductID char(5),
@precio decimal output,
@cantidad int output,
@fecha datetime output
)
as
select @precio =Precio,@cantidad=cantidad,@fecha =fechacompra
from Producto where codpro = @ProductID
/*modificar campo hora*/
select * from pedido
select * from producto