18. CREATE TRIGGER AumentarExistencia1 ON DetalleCompra
AFTER INSERT
AS
UPDATE Articulo set Existencia = Existencia + (select Cantidad from
inserted)
where Codigo = (select objArticulo from inserted)
go
Este aumenta la existencia de los articulos en detalle compra y
luego actualiza
CREATE TRIGGER DisminuirExistencia1 ON DetalleVenta
AFTER INSERT
AS
UPDATE Articulo set Existencia = Existencia - (select Cantidad from inserted)
where Codigo = (select objArticulo from inserted)
go
Este disminuye la existencia de los articulos en detalle venta y
luego actualiza
19. CREATE TRIGGER DisminuirExistencia2 ON DetalleCompra
FOR DELETE
AS
UPDATE Articulo set Existencia = Existencia - (select Cantidad from
inserted)
where Codigo = (select objArticulo from inserted)
go Este disminuye la existencia de detalle compra , borra y
luego actualiza la tabla articulo
CREATE TRIGGER AumentarExistencia2 ON Venta
FOR UPDATE
AS
IF((select Anulada from updated) = 1)
begin
select Cantidad from DetalleVenta where objVenta = (select FacturaN from
updated)
UPDATE Articulo set Existencia = Existencia + (select Cantidad from
inserted)
where Codigo = (select objArticulo from inserted)
end
go
Este aumenta la existencia en venta luego actualiza si el campo
anulada = 1 y actualiza la tabla articulo
20. USE [Ferreteria]
Go
CREATE TRIGGER Seguridad ON DATABASE
FOR DROP_TABLE, ALTER_TABLE
AS
BEGIN
PRINT'Desactivar el Trigger "SEGURIDAD" Antes de borrar o
modificar la tabla!'
RAISERROR ('No se permite borrar ni modificar las tablas
!',16,1)
ROLLBACK TRANSACTION
END
Este trigger brinda serguridad a las tablas impidiendo que
estas sean borradas o modificadas , si se desea modificar
dicha tabla primero hay que deshabilitarlo
21.
22. create procedure IngresarDescuento
@Codigo INT,
@Descripcion VARCHAR(50),
@Porcentaje FLOAT
as
insert into Descuento values (@Codigo, @Descripcion, @Porcentaje, 0)
go
create procedure ModificarDescuento
@Codigo INT,
@Descripcion VARCHAR(50),
@Porcentaje FLOAT,
@Activo BIT
as
update Descuento set
Codigo =@Codigo,
Descripcion = @Descripcion,
Porcentaje = @Porcentaje,
Activo = @Activo
where Codigo = @Codigo
go
23. Create procedure EliminarDescuento
@Codigo INT
as
delete from Descuento where Codigo = @Codigo
go
Create procedure IngresarCliente
@Cedula CHAR(16),
@Nombre VARCHAR(50),
@Direccion VARCHAR(100),
@Telefono CHAR(9),
@objDescuento INT,
@Activo BIT
as
insert into Cliente values (@cedula, @nombre, @direccion, @telefono,
@objDEscuentos, @activo,0)
24. create procedure ModificarCliente
@Cedula CHAR(16),
@Nombre VARCHAR(50),
@Direccion VARCHAR(100),
@Telefono CHAR(9),
@objDescuento INT,
@Activo BIT
as
update Cliente set
cedula = @Cedula,
Nombre = @Nombre,
Direccion = @Direccion,
Telefono = @Telefono,
objDescuento = @objDescuento,
Activo = @Activo BIT
where Cedula = @Cedula
go
Create procedure EliminarCliente
@Cedula CHAR
as
delete from Cliente Where Cedula = @Cedula
go
25. Create procedure IngresarProveedor
@Nombre VARCHAR(50),
@Direccion VARCHAR(100),
@Telefono CHAR(9),
@Activo BIT
as
insert into Proveedor values (@Nombre, @Direccion, @telefono, @activo,0)
Create procedure ModificarProveedor
@Nombre VARCHAR(50),
@Direccion VARCHAR(100),
@Telefono CHAR(9),
@Activo BIT
as
update Proveedor set
Nombre = @Nombre,
Direccion = @Direccion,
Telefono = @Telefono,
Activo = @Activo
Where Nombre = @nombre
go
26. Create Procedure EliminarProveedor
@Nombre VARCHAR
as
delete from Proveedor where Nombre = @Nombre
go
Create procedure IngresarUnidadMedida
@Nombre VARCHAR(50),
@Activo BIT
as
insert into UnidadMedida values (@Nombre, @activo,0)
Create Procedure ModificarUnidadMedida
@Nombre varchar (50)
@Activo BIT
as
update UnidadMedida set
Nombre = @Nombre,
Activo = @Activo
Where Nombre =@Nombre
go
27. Create procedure EliminarUnidadMedida
@Nombre VARCHAR
as
delete from UnidadMedida where Nombre = @Nombre
go
Create procedure IngresarClasificacion
@Nombre VARCHAR(20)
@Activo BIT
as
insert into Clasificacion values (@Nombre, @activo,0)
Create Procedure ModificarClasificacion
@Nombre varchar (50)
@Activo BIT
as
update Clasificacion set
Nombre = @Nombre,
Activo = @Activo,
Where Nombre =@Nombre
go
28. Create procedure EliminarClasificacion
@Nombre VARCHAR
as
delete from Clasificacion where Nombre = @Nombre
go
Create procedure IngresarAriculo
@Nombre VARCHAR(50),
@Descripcion VARCHAR(100),
@objUnidadMedida INT,
@objClasificacion INT,
@Existencia FLOAT ,
@Precio FLOAT,
@Costo FLOAT,
@Activo BIT
as
insert into Articulo values (@Nombre, @Descripcion, @objunidadmedida,
@objClasificacion, @Existencia, @precio, @Costo, @Activo,0)
29. Create procedure ModificarArticulo
@Nombre VARCHAR(50),
@Descripcion VARCHAR(100),
@objUnidadMedida INT,
@objClasificacion INT,
@Existencia FLOAT,
@Precio FLOAT,
@Costo FLOAT,
@Activo BIT
as
update Articulo set
Nombre = @Nombre,
Descripcion = @Descripcion,
objunudadmedida = @objUnidadMedida,
objClasificacion = @objClasificacion ,
Existencia = @Existencia,
Precio = @Precio,
Costo = @Costo,
Activo = @Activo,
where = @Nombre
go
30. create procedure EliminarArticulo
@Nombre = varchar
as
delete from Articulo where Nombre = @Nombre
go
create procedure IngresarCompra
@FacturaN VARCHAR(20),
@objProveedor INT,
@Fecha DATETIME,
@Subtotal FLOAT,
@IVAPagado FLOAT,
@Total FLOAT
as
insert into Compra values
(@FacturaN,@objProveedor,@Fecha,@Subtotal,@IVAPagado,@Total,0)
31. Create procedure ModificarCompra
@FacturaN VARCHAR(20),
@objProveedor INT,
@Fecha DATETIME,
@Subtotal FLOAT,
@IVAPagado FLOAT,
@Total FLOAT
as
update Compra set
FacturaN=@FacturaN,
objProveedor)@objProveedor,
Fecha=@Fecha,
Subtotal=@Subtotal,
IVAPagado=@IVAPagado,
Total=@Total
where=@FacturaN
go
32. Create procedure EliminarCompra
@FacturaN= VARCHAR(20)
as
delete from Compra where FacturaN=@FacturaN
go
Create Procedure IngresarDetalleCompra
@objCompra VARCHAR(20),
@objProveedor INT,
@objArticulo VARCHAR(20),
@Costo FLOAT,
@Cantidad FLOAT,
@Monto FLOAT
as
insert into Detallecompra values
(@objCompra,@objProveedor,@objArticulo,@Costo,@Cantidad,@Monto,0)
33. create procedure Modificar
DetalleCompra
@objCompra VARCHAR(20),
@objProveedor INT,
@objArticulo VARCHAR(20),
@Costo FLOAT,
@Cantidad FLOAT,
@Monto FLOAT
as
update DetalleCompra set
objCompra=@objCompra,
oblProveedor=@objProveedor,
objArticulo=@objArticulo,
Costo=@Costo,
Cantidad=@Cantidad,
Monto=@Monto
where=@objCompra
go
34. create procedure EliminarDetalleCompra
@objCompra VARCAHR(20)
as
delete from DetalleCompra where objCompra=@objCompra
go
create procedure IngresarSerie
@Codigo CHAR(1),
@Descripcion VARCHAR(50)
as
insert into Serie values (@Codigo,@Descripcion,0)
create procedure ModificarSerie
@Codigo CHAR(1),
@Descripcion VARCHAR(50)
as
update Serie set
Codigo=@Codigo,
Descripcion=@Descripcion
where=@Codigo
go
35. create procedure EliminarSerie
@Codigo=VARCHAR(1)
delete from Serie where Codigo=@Codigo
go
create procedure IngresarVenta
@FacturaN INT,
@objSerie CHAR(1),
@objCliente CHAR(16),
@Contado BIT,
@Fecha DATETIME,
@Subtotal FLOAT,
@Descuento FLOAT,
@SubtotalConDescuento FLOAT,
@IVA BIT,
@IVAPagar FLOAT,
@Total FLOAT,
@Anulada BIT
as
insert into Venta values
(@FacturaN,@objSerie,@objCliente,@Contado,@Fecha,@Subtotal,@Descuento,@
SubtotalConDescuento,@IVA,@IVAPagar,@Total,@Anulada,0)
40. Todos lo procedimientos que utilizamos en esta
base de datos realizan las mismas funciones
solo que para cada tabla, dichas funciones son:
Inserción
Modificación
Eliminación de datos
41. Procedimiento de Inserción:
Este procedimiento ingresa los valores de
los campos en la tabla asignada, no se
toma en cuenta el Codigo porque es
autonumerico, el DEFAULT es para agarrar
el valor por omisión.
Procedimiento de Modificación:
Este procedimiento modifica y actualiza la
tabla asignada
44. CREATE VIEW Descuentos
AS
SELECT * FROM Descuento WHERE Activo = 1
GO
Esta vista muestra los campos de la tabla descuento cuando el
campo activo es igual a 1
CREATE VIEW Clientes
AS
SELECT a.Cedula, a.Nombre, a.Direccion, a.Telefono,
b.Descripcion AS [Tipo de Descuento], b.Porcentaje
FROM Cliente a, Descuento b
WHERE a.Activo = 1 AND a.objDescuento = b.Codigo
GO
Crea una vista llamada cliente le cual nos muestra los campos
mencionado
45. CREATE VIEW Proveedores
AS
SELECT * FROM Proveedor WHERE Activo = 1
GO
Crea una vista llamada proveedores y muestra los
campos codigo, nombre, direccion , telefono y activo
CREATE VIEW UnidadesMedida
AS
SELECT * FROM UnidadMedida WHERE Activo = 1
GO
Crea una vista llamada Unidad de medida en el cual
muestra los campos codigo, nombre y activo junto
con sus registros
CREATE VIEW Clasificaciones
AS
SELECT * FROM Clasificacion WHERE Activo = 1
GO
Crea una vista llamada Clasifiaciones muestra los
campos codigo, nombre y activo con sus registros
46. CREATE VIEW Articulos
AS
SELECT a.Codigo, a.Nombre, a.Descripcion, b.Nombre AS [Unidad de
Medida], c.Nombre AS Clasificacion, a.Existencia, a.Precio,
a.Costo
FROM Articulo a, UnidadMedida b, Clasificacion c
WHERE a.Activo = 1 AND a.objUnidadMedida = b.Codigo AND
a.objClasificacion = c.Codigo
GO
Crea una vista llamada articulos en el cual muestra los campos codigo,
nombre, descripcion, unidades de medida, clasificacion , existencia,
precio y costo
CREATE VIEW Series
AS
SELECT * FROM Serie
GO
Muestra los campos de codigo y descripcion
47. CREATE VIEW Compras
AS
SELECT a.FacturaN, b.Nombre AS Proveedor, a.Fecha, d.Nombre AS
Articulo, c.Costo, c.Cantidad, c.Monto, a.Subtotal,
a.IVAPagado, a.Total
FROM Compra a, Proveedor b, DetalleCompra c, Articulo d
WHERE a.objProveedor = b.Codigo AND a.FacturaN = c.objCompra
AND a.objProveedor = c.objProveedor AND c.objArticulo =
d.Codigo
GO
Crea la vista compra y muestra la factura , proveedor, fecha, articulo,
costo, cantidad, monto, subtotal, iva pagado y total de las tablas
compra, proveedor, detallecompra y articulo.
48. CREATE VIEW Ventas
AS
SELECT a.FacturaN, b.Descripcion AS Serie, c.Nombre AS Cliente,
a.Contado, a.Fecha, e.Nombre AS Articulo, d.Precio, d.Cantidad,
d.Monto, a.Subtotal, a.Descuento, a.SubtotalConDescuento,
a.IVAPagar, a.Total
FROM Venta a, Serie b, Cliente c, DetalleVenta d, Articulo e
WHERE a.objSerie = b.Codigo AND a.objCliente = c.Cedula AND
a.FacturaN = d.objVenta AND d.objArticulo = e.Codigo AND
a.objSerie = d.objSerie AND a.Anulada = 0
GO
Crea una vista llamada Ventas que muestra los campos factura N,
serie, cliente, contado, fecha, articulo, precio, cantidad, monto,
subtotal, descuento, subtotal con descuento, iva pagar, y total de las
tablas venta, serire, cliente, detalle venta y articulo.
49.
50. Muestra Todos los Descuentos
SELECT * FROM Descuento
Descuentos Activos ordenados por descuentos ascendentes
SELECT * FROM Descuentos ORDER BY Porcentaje ASC
Muestra los Descuentos Inactivos
SELECT * FROM descuento WHERE activo = 0
Muestra Todos los Clientes y sus datos personales
SELECT Cedula, Nombre, Direccion, Telefono, Descripcion AS
[Tipo de Descuento], Porcentaje
FROM Cliente INNER JOIN Descuento ON
Cliente.objDescuento = Descuento.Codigo ORDER BY Nombre
Muestra a los Clientes Activos por nombre
SELECT * FROM Clientes ORDER BY Nombre
51. Muestra los Clientes Inactivos con activos igual 0
SELECT Cedula, Nombre, Direccion, Telefono, Descripcion AS
[Tipo de Descuento], Porcentaje
FROM Cliente INNER JOIN Descuento ON
Cliente.objDescuento = Descuento.Codigo WHERE Cliente.Activo
= 0
Muestra Todos los Proveedores
SELECT * FROM Proveedor
Proveedores Activos por nombre
SELECT * FROM Proveedores ORDER BY Nombre
Proveedores Inactivos cuando activo igual 0
SELECT * FROM Proveedor where Activo = 0
Muestra Todas las Unidades de Medida
SELECT * FROM UnidadMedida
Muestra las Unidades de Medida Activas
SELECT * FROM UnidadesMedida ORDER BY Nombre
Muestra lasUnidades de Medida Inctivas
SELECT * FROM UnidadMedida where Activo = 0
52. Muestra los Articulos Activos
SELECT * FROM Articulos ORDER BY Nombre
Muestra Todas las Compras
SELECT * FROM Compras
Muestra Todas las Series
SELECT * FROM Series
Muestra Todas las Ventas
SELECT * FROM Ventas