Parte Uno

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 4

create database PracticaERP

drop database PracticaERP

create table producto(


clave_producto int primary key,
nombre char(35),
marca char(35),
descripcion char(50),
existencias int
)

create table proveedor(


clave_proveedor int primary key,
nombre char(35),
ap char(35),
am char(35),
direccion char(35),
telefono char(20),
correo char(35)
)

create table precios(


clave_proveedor int foreign key references proveedor(clave_proveedor),
clave_producto int foreign key references producto(clave_producto),
precio decimal(8,2)
)

create table pedido(


clave_pedido int primary key,
clave_producto int foreign key references producto(clave_producto),
clave_proveedor int foreign key references proveedor(clave_proveedor),
cantidad int,
subtotal decimal(8,2),
total decimal(8,2),
fecha_pedido char(20),
tipo_pago int
)

create table almacen(


clave_producto int foreign key references producto(clave_producto),
existencias int,
precio_venta decimal(8,2)
)

create table venta(


clave_venta int primary key,
clave_producto int foreign key references producto(clave_producto),
clave_cliente int foreign key references cliente(clave_cliente),
cantidad int,
subtotal decimal(8,2),
descuento decimal(8,2),
total decimal(8,2),
fecha_venta char(20),
tipo_pago int
)
create table cliente(
clave_cliente int primary key,
nombre char(35),
ap char(35),
am char(35),
direccion char(35),
telefono char(20),
correo char(35),
RFC char(13),
cp int
)

create table facturacion(


clave_factura int primary key,
clave_venta int foreign key references venta(clave_venta),
clave_cliente int foreign key references cliente(clave_cliente),
)

create table caja(


saldo decimal(9,2),
mventas int,
mcompras int,
)

create table banco(


saldo decimal(9,2),
mventas int,
mcompras int,
)

create proc Insertar_Producto


@clave_producto int,
@nombre char(35),
@marca char(35),
@descripcion char(50),
@existencias int

as
insert into producto
values(@clave_producto,@nombre,@marca,@descripcion,@existencias)
go

create proc Consulta_Producto_Individual


@clave_producto int

as
select * from producto where clave_producto=@clave_producto
go

create proc Consulta_Producto_General


as
select * from producto
go
create proc Elimina_Producto_Individual
@clave_producto int
as
delete from producto where clave_producto=@clave_producto
go

create proc Actualizar_Producto


@clave_producto int,
@nombre char(35),
@marca char(35),
@descripcion char(50),
@existencias int

as
update producto set
nombre=@nombre,marca=@marca,descripcion=@descripcion,existencias=@existencias
where clave_producto=@clave_producto
go

insert into proveedor values(1,'JOSE MANUEL','SANCHEZ','MARTINEZ','COLONIA


CENTRO','2451234534','[email protected]')
insert into proveedor values(2,'MARTHA','HERNANDEZ','SUAREZ','6
NORTE','2222345432','[email protected]')

insert into producto values(10,'TECLADO','HP','TECLADO NEGRO ERGONOMICO',1000)


insert into producto values(20,'PANTALLA','LG','PANTALLA DE 32 PULGADAS',1000)
insert into producto values(30,'PANTALLA','LG','PANTALLA DE 32 PULGADAS',1000)

INSERT INTO precios VALUES(1,10,800)


INSERT INTO precios VALUES(1,20,4800)
INSERT INTO precios VALUES(2,10,800)
INSERT INTO precios VALUES(2,20,4880)

select * from precios

--Creación de la función (disparador) de pedido

create trigger realizar_pedido on pedido for insert


as
begin
declare
@clave_pedido as int,
@clave_producto as int,
@clave_proveedor as int,
@cantidad as int,
@precio as decimal,
@subtotal as decimal,
@total as decimal,
@tipo_pago as int

set @clave_pedido=(select clave_pedido from inserted)


set @clave_producto=(select clave_producto from inserted)
set @clave_proveedor=(select clave_proveedor from inserted)
set @tipo_pago=(select tipo_pago from inserted)
set @cantidad=(select cantidad from inserted)
set @precio=(select precio from precios where clave_producto=@clave_producto and
clave_proveedor=@clave_proveedor )
update pedido set subtotal=(@precio*cantidad),total=((@precio*cantidad)*1.16)where
clave_pedido=@clave_pedido

if(@tipo_pago==1)
begin
update caja set saldo=saldo-total
else
begin
update banco set saldo=saldo-total
end
end
end

insert into
pedido(clave_pedido,clave_producto,clave_proveedor,cantidad,fecha_pedido)
values(100,20,2,5,'09-02-2022')

select * from pedido


select * from producto
select * from proveedor
select * from precios

También podría gustarte