0% encontró este documento útil (0 votos)
23 vistas40 páginas

Bodega 2 Codigo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 40

|crear una base de datos que me lleve el control de bodegas

en las bodegas ingresa producto

la bodega distribuye a 3 sucursales del Pais.

tambien se necesita un control de inventario.

LLEVAR EL CONTROL DE QUIEN ENVIA EL PRODUCTO Y QUIEN RECIBE EL PRODUCTO QUE SE


COMPRA

USUARIO

PRUCTO

STROCK

PROVEEDORES

ENCABEZADO_COMPRA

DETALLE_COMPRA

SUCURSAL

1. TIENDA LA BENDICION

2. TIENDA LA PEQUEÑA

3. TIENDA MI COATEPEQUE

ENCABEZADO_ENVIO

DETALLE_ENVIO

ENCABEZADO_INVENTARIO

DETALLE_INVENTARIO

--CODIGO DE BASE DE DATOS

CREATE DATABASE BODEGASUMG2;


USE BODEGASUMG2;

create table Usuario

(idusuario int identity(1,1),

codusuario int not null primary key,

nombreusuario varchar(100) not null,

password varchar(100) not null,

estado char(1) not null

);

create table Producto

(idproducto int identity(1,1),

codproducto varchar(30) not null primary key,

nombreproducto varchar(100) not null,

costo numeric(12,4) not null,

precio numeric(12,4) not null,

estado char(1) not null

);

create table STOCK

(idstock int identity(1,1),

codproducto varchar(30) not null,

cantidad int not null

);

create table Proveedor

(idproveedor int identity(1,1),

codproveedor int not null primary key,

codusuario int not null,


nombreproveedor varchar(100) not null,

saldo numeric(12,4) not null,

estado char(1) not null

);

create Table ENCABEZADO_COMPRA

(idcompraenc int identity(1,1),

FACTURANUMERO varchar(30) not null PRIMARY KEY,

codproveedor int not null,

codusuario int not null,

FECHA DATE NOT NULL

);

create Table DETALLE_COMPRA

FACTURANUMERO varchar(30) not null,

codproducto varchar(30) not null,

COSTO numeric(12,4) not null,

PRECIO numeric(12,4) not null,

DESCUENTO numeric(12,4) not null,

CANTIDAD int not null

);

create table SUCURSAL

(idsucursal int identity(1,1),

codigoSucursal int not null primary key,

nombresucursal varchar(100) not null

);

create Table ENCABEZADO_ENVIO


(idenvioenc int identity(1,1),

Numeroenvio varchar(30) not null PRIMARY KEY,

codigoSucursal int not null,

codusuario int not null,

FECHA DATE NOT NULL

);

create Table DETALLE_ENVIO

Numeroenvio varchar(30) not null,

codproducto varchar(30) not null,

COSTO numeric(12,4) not null,

PRECIO numeric(12,4) not null,

DESCUENTO numeric(12,4) not null,

CANTIDAD int not null

);

create Table ENCABEZADO_INVENTARIO

(idinventarioenc int identity(1,1),

Numeroinventario varchar(30) not null PRIMARY KEY,

codusuario int not null,

FECHAINICIO DATETIME NOT NULL,

FECHAFINAL DATETIME NOT NULL

);

create Table DETALLE_INVENTARIO

Numeroinventario varchar(30) not null,

codproducto varchar(30) not null,


COSTO numeric(12,4) not null,

PRECIO numeric(12,4) not null,

CANTIDADINICIO int not null,

CANTIDADFINAL int not null,

);

alter table Proveedor add Constraint Fk_Proveedor_usuario foreign key(codusuario) references


Usuario(codusuario);

alter table STOCK add Constraint Fk_STOCK_Producto foreign key(codproducto) references


Producto(codproducto);

alter table ENCABEZADO_COMPRA add Constraint Fk_ENCABEZADO_COMPRA_Proveedor foreign


key(codproveedor) references Proveedor(codproveedor);

alter table ENCABEZADO_COMPRA add Constraint Fk_ENCABEZADO_COMPRA_Usuario foreign


key(codusuario) references Usuario(codusuario);

alter table DETALLE_COMPRA add Constraint Fk_DETALLE_COMPRA_ENCABEZADO_COMPRA


foreign key(FACTURANUMERO) references ENCABEZADO_COMPRA(FACTURANUMERO);

alter table DETALLE_COMPRA add Constraint Fk_DETALLE_COMPRA_Producto foreign


key(codproducto) references Producto(codproducto);

alter table ENCABEZADO_ENVIO add Constraint Fk_ENCABEZADO_ENVIO_SUCURSAL foreign


key(codigoSucursal) references SUCURSAL(codigoSucursal);

alter table ENCABEZADO_ENVIO add Constraint Fk_ENCABEZADO_ENVIO_Usuario foreign


key(codusuario) references Usuario(codusuario);

alter table DETALLE_ENVIO add Constraint Fk_DETALLE_ENVIO_ENCABEZADO_COMPRA foreign


key(Numeroenvio) references ENCABEZADO_ENVIO(Numeroenvio);

alter table DETALLE_ENVIO add Constraint Fk_DETALLE_ENVIO_Producto foreign


key(codproducto) references Producto(codproducto);

alter table ENCABEZADO_INVENTARIO add Constraint Fk_ENCABEZADO_INVENTARIO_Usuario


foreign key(codusuario) references Usuario(codusuario);
alter table DETALLE_INVENTARIO add Constraint
Fk_DETALLE_INVENTARIO_ENCABEZADO_INVENTARIO foreign key(Numeroinventario) references
ENCABEZADO_INVENTARIO(Numeroinventario);

alter table DETALLE_INVENTARIO add Constraint Fk_DETALLE_INVENTARIO_Producto foreign


key(codproducto) references Producto(codproducto);

insert into Usuario(codusuario, nombreusuario, password, estado)


values('71155','amarroquin','1234','A');

insert into Usuario(codusuario, nombreusuario, password, estado)


values('65344','rmarroquin','12345','A');

select * from Usuario with(nolock)

--CREAR VISTA

CREATE VIEW V_USUARIO

AS

SELECT idusuario, codusuario, nombreusuario, password, estado

FROM Usuario WITH(NOLOCK)

--CONSULTAR VISTA

SELECT *

FROM V_USUARIO

ORDER BY idusuario ASC

--PARA ELIMINAR CONSTRAINT

ALTER TABLE ENCABEZADO_COMPRA DROP Constraint


Fk_DETALLE_COMPRA_ENCABEZADO_COMPRA

--PARA ELIMINAR REGISTROS


DELETE FROM Usuario

--RESETEAR IDENTITY

DBCC CHECKIDENT('Usuario', RESEED, 0)

--FUNCIONES DE SQL SERVER

SELECT SYSDATETIME()

SELECT GETDATE();

CREATE PROCEDURE XXXXX

AS

DECLARE @CODPRODUCTO AS nvarchar(30), @COSTO AS numeric(12,4),@ESTADO AS CHAR(1)

DECLARE ProdInfo

CURSOR FOR SELECT CODPRODUCTO,COSTO,ESTADO FROM PRODUCTO WHERE COSTO>=100

OPEN ProdInfo

FETCH NEXT FROM ProdInfo INTO @CODPRODUCTO,@COSTO,@ESTADO

WHILE @@fetch_status = 0

BEGIN

PRINT @CODPRODUCTO,@COSTO,@ESTADO

--UPDATE PRODUCTO SET COSTO=@COSTO*1.05 WHERE CODIGO=@CODPRODUCTO

FETCH NEXT FROM ProdInfo INTO @CODPRODUCTO,@COSTO,@ESTADO

END

CLOSE ProdInfo

DEALLOCATE ProdInfo
--Procedimientos

--USUARIOS

CREATE PROCEDURE InsertarUsuarioConMensaje

@codusuario INT,

@nombreusuario VARCHAR(100),

@password VARCHAR(100),

@estado CHAR(1),

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de usuario ya existe

IF EXISTS (SELECT 1 FROM Usuario WHERE codusuario = @codusuario)

BEGIN

SET @mensaje = 'El código de usuario ya existe.';

RETURN;

END

-- Insertar el nuevo usuario

INSERT INTO Usuario (codusuario, nombreusuario, password, estado)

VALUES (@codusuario, @nombreusuario, @password, @estado);

SET @mensaje = 'Usuario insertado correctamente.';

END;

--PRODUCTO
CREATE PROCEDURE InsertarProductoConMensaje

@codproducto VARCHAR(30),

@nombreproducto VARCHAR(100),

@costo NUMERIC(12,4),

@precio NUMERIC(12,4),

@estado CHAR(1),

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de producto ya existe

IF EXISTS (SELECT 1 FROM Producto WHERE codproducto = @codproducto)

BEGIN

SET @mensaje = 'El código de producto ya existe.';

RETURN;

END

-- Insertar el nuevo producto

INSERT INTO Producto (codproducto, nombreproducto, costo, precio, estado)

VALUES (@codproducto, @nombreproducto, @costo, @precio, @estado);

SET @mensaje = 'Producto insertado correctamente.';

END;

--STOCK

CREATE PROCEDURE InsertarStockConMensaje

@codproducto VARCHAR(30),

@cantidad INT,

@mensaje NVARCHAR(255) OUTPUT


AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de producto existe en la tabla Producto

IF NOT EXISTS (SELECT 1 FROM Producto WHERE codproducto = @codproducto)

BEGIN

SET @mensaje = 'El código de producto no existe en la tabla Producto.';

RETURN;

END

-- Verificar si el código de producto ya existe en la tabla STOCK

IF EXISTS (SELECT 1 FROM STOCK WHERE codproducto = @codproducto)

BEGIN

SET @mensaje = 'El código de producto ya existe en la tabla STOCK.';

RETURN;

END

-- Insertar el nuevo registro en STOCK

INSERT INTO STOCK (codproducto, cantidad)

VALUES (@codproducto, @cantidad);

SET @mensaje = 'Stock insertado correctamente.';

END;

--PROVEEDOR

CREATE PROCEDURE InsertarProveedorConMensaje

@codproveedor INT,

@codusuario INT,

@nombreproveedor VARCHAR(100),
@saldo NUMERIC(12,4),

@estado CHAR(1),

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de usuario existe en la tabla Usuario

IF NOT EXISTS (SELECT 1 FROM Usuario WHERE codusuario = @codusuario)

BEGIN

SET @mensaje = 'El código de usuario no existe en la tabla Usuario.';

RETURN;

END

-- Verificar si el código de proveedor ya existe en la tabla Proveedor

IF EXISTS (SELECT 1 FROM Proveedor WHERE codproveedor = @codproveedor)

BEGIN

SET @mensaje = 'El código de proveedor ya existe en la tabla Proveedor.';

RETURN;

END

-- Insertar el nuevo proveedor

INSERT INTO Proveedor (codproveedor, codusuario, nombreproveedor, saldo, estado)

VALUES (@codproveedor, @codusuario, @nombreproveedor, @saldo, @estado);

SET @mensaje = 'Proveedor insertado correctamente.';

END;

--compra

--encabezado
CREATE PROCEDURE InsertarEncabezadoCompraConMensaje

@FACTURANUMERO VARCHAR(30),

@codproveedor INT,

@codusuario INT,

@FECHA DATE,

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de proveedor existe en la tabla Proveedor

IF NOT EXISTS (SELECT 1 FROM Proveedor WHERE codproveedor = @codproveedor)

BEGIN

SET @mensaje = 'El código de proveedor no existe en la tabla Proveedor.';

RETURN;

END

-- Verificar si el código de usuario existe en la tabla Usuario

IF NOT EXISTS (SELECT 1 FROM Usuario WHERE codusuario = @codusuario)

BEGIN

SET @mensaje = 'El código de usuario no existe en la tabla Usuario.';

RETURN;

END

-- Verificar si el número de factura ya existe en la tabla ENCABEZADO_COMPRA

IF EXISTS (SELECT 1 FROM ENCABEZADO_COMPRA WHERE FACTURANUMERO =


@FACTURANUMERO)

BEGIN

SET @mensaje = 'El número de factura ya existe en la tabla ENCABEZADO_COMPRA.';

RETURN;

END
-- Insertar el nuevo encabezado de compra

INSERT INTO ENCABEZADO_COMPRA (FACTURANUMERO, codproveedor, codusuario, FECHA)

VALUES (@FACTURANUMERO, @codproveedor, @codusuario, @FECHA);

SET @mensaje = 'Encabezado de compra insertado correctamente.';

END;

--DETALLE

CREATE PROCEDURE InsertarDetalleCompraConMensaje

@FACTURANUMERO VARCHAR(30),

@codproducto VARCHAR(30),

@COSTO NUMERIC(12,4),

@PRECIO NUMERIC(12,4),

@DESCUENTO NUMERIC(12,4),

@CANTIDAD INT,

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el número de factura existe en la tabla ENCABEZADO_COMPRA

IF NOT EXISTS (SELECT 1 FROM ENCABEZADO_COMPRA WHERE FACTURANUMERO =


@FACTURANUMERO)

BEGIN

SET @mensaje = 'El número de factura no existe en la tabla ENCABEZADO_COMPRA.';

RETURN;

END

-- Verificar si el código de producto existe en la tabla Producto


IF NOT EXISTS (SELECT 1 FROM Producto WHERE codproducto = @codproducto)

BEGIN

SET @mensaje = 'El código de producto no existe en la tabla Producto.';

RETURN;

END

-- Insertar el nuevo detalle de compra

INSERT INTO DETALLE_COMPRA (FACTURANUMERO, codproducto, COSTO, PRECIO,


DESCUENTO, CANTIDAD)

VALUES (@FACTURANUMERO, @codproducto, @COSTO, @PRECIO, @DESCUENTO,


@CANTIDAD);

SET @mensaje = 'Detalle de compra insertado correctamente.';

END;

--SUCURSAL

CREATE PROCEDURE InsertarSucursalConMensaje

@codigoSucursal INT,

@nombresucursal VARCHAR(100),

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de sucursal ya existe en la tabla SUCURSAL

IF EXISTS (SELECT 1 FROM SUCURSAL WHERE codigoSucursal = @codigoSucursal)

BEGIN

SET @mensaje = 'El código de sucursal ya existe en la tabla SUCURSAL.';

RETURN;

END
-- Insertar el nuevo registro en la tabla SUCURSAL

INSERT INTO SUCURSAL (codigoSucursal, nombresucursal)

VALUES (@codigoSucursal, @nombresucursal);

SET @mensaje = 'Sucursal insertada correctamente.';

END;

--ENVIO

--ENCABEZADO

CREATE PROCEDURE InsertarEncabezadoEnvioConMensaje

@Numeroenvio VARCHAR(30),

@codigoSucursal INT,

@codusuario INT,

@FECHA DATE,

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de sucursal existe en la tabla SUCURSAL

IF NOT EXISTS (SELECT 1 FROM SUCURSAL WHERE codigoSucursal = @codigoSucursal)

BEGIN

SET @mensaje = 'El código de sucursal no existe en la tabla SUCURSAL.';

RETURN;

END

-- Verificar si el código de usuario existe en la tabla Usuario

IF NOT EXISTS (SELECT 1 FROM Usuario WHERE codusuario = @codusuario)

BEGIN

SET @mensaje = 'El código de usuario no existe en la tabla Usuario.';

RETURN;
END

-- Verificar si el número de envío ya existe en la tabla ENCABEZADO_ENVIO

IF EXISTS (SELECT 1 FROM ENCABEZADO_ENVIO WHERE Numeroenvio = @Numeroenvio)

BEGIN

SET @mensaje = 'El número de envío ya existe en la tabla ENCABEZADO_ENVIO.';

RETURN;

END

-- Insertar el nuevo encabezado de envío

INSERT INTO ENCABEZADO_ENVIO (Numeroenvio, codigoSucursal, codusuario, FECHA)

VALUES (@Numeroenvio, @codigoSucursal, @codusuario, @FECHA);

SET @mensaje = 'Encabezado de envío insertado correctamente.';

END;

--DETALLE

CREATE PROCEDURE InsertarDetalleEnvioConMensaje

@Numeroenvio VARCHAR(30),

@codproducto VARCHAR(30),

@COSTO NUMERIC(12,4),

@PRECIO NUMERIC(12,4),

@DESCUENTO NUMERIC(12,4),

@CANTIDAD INT,

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el número de envío existe en la tabla ENCABEZADO_ENVIO


IF NOT EXISTS (SELECT 1 FROM ENCABEZADO_ENVIO WHERE Numeroenvio =
@Numeroenvio)

BEGIN

SET @mensaje = 'El número de envío no existe en la tabla ENCABEZADO_ENVIO.';

RETURN;

END

-- Verificar si el código de producto existe en la tabla Producto

IF NOT EXISTS (SELECT 1 FROM Producto WHERE codproducto = @codproducto)

BEGIN

SET @mensaje = 'El código de producto no existe en la tabla Producto.';

RETURN;

END

-- Insertar el nuevo detalle de envío

INSERT INTO DETALLE_ENVIO (Numeroenvio, codproducto, COSTO, PRECIO, DESCUENTO,


CANTIDAD)

VALUES (@Numeroenvio, @codproducto, @COSTO, @PRECIO, @DESCUENTO, @CANTIDAD);

SET @mensaje = 'Detalle de envío insertado correctamente.';

END;

--INVENTARIO

--ENCABEZADO

CREATE PROCEDURE InsertarEncabezadoInventarioConMensaje

@Numeroinventario VARCHAR(30),

@codusuario INT,

@FECHAINICIO DATETIME,

@FECHAFINAL DATETIME,

@mensaje NVARCHAR(255) OUTPUT

AS
BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el código de usuario existe en la tabla Usuario

IF NOT EXISTS (SELECT 1 FROM Usuario WHERE codusuario = @codusuario)

BEGIN

SET @mensaje = 'El código de usuario no existe en la tabla Usuario.';

RETURN;

END

-- Verificar si el número de inventario ya existe en la tabla ENCABEZADO_INVENTARIO

IF EXISTS (SELECT 1 FROM ENCABEZADO_INVENTARIO WHERE Numeroinventario =


@Numeroinventario)

BEGIN

SET @mensaje = 'El número de inventario ya existe en la tabla


ENCABEZADO_INVENTARIO.';

RETURN;

END

-- Insertar el nuevo encabezado de inventario

INSERT INTO ENCABEZADO_INVENTARIO (Numeroinventario, codusuario, FECHAINICIO,


FECHAFINAL)

VALUES (@Numeroinventario, @codusuario, @FECHAINICIO, @FECHAFINAL);

SET @mensaje = 'Encabezado de inventario insertado correctamente.';

END;

--DETALLE

CREATE PROCEDURE InsertarDetalleInventarioConMensaje

@Numeroinventario VARCHAR(30),

@codproducto VARCHAR(30),

@COSTO NUMERIC(12,4),
@PRECIO NUMERIC(12,4),

@CANTIDADINICIO INT,

@CANTIDADFINAL INT,

@mensaje NVARCHAR(255) OUTPUT

AS

BEGIN

-- Inicializar el mensaje

SET @mensaje = '';

-- Verificar si el número de inventario existe en la tabla ENCABEZADO_INVENTARIO

IF NOT EXISTS (SELECT 1 FROM ENCABEZADO_INVENTARIO WHERE Numeroinventario =


@Numeroinventario)

BEGIN

SET @mensaje = 'El número de inventario no existe en la tabla


ENCABEZADO_INVENTARIO.';

RETURN;

END

-- Verificar si el código de producto existe en la tabla Producto

IF NOT EXISTS (SELECT 1 FROM Producto WHERE codproducto = @codproducto)

BEGIN

SET @mensaje = 'El código de producto no existe en la tabla Producto.';

RETURN;

END

-- Insertar el nuevo detalle de inventario

INSERT INTO DETALLE_INVENTARIO (Numeroinventario, codproducto, COSTO, PRECIO,


CANTIDADINICIO, CANTIDADFINAL)

VALUES (@Numeroinventario, @codproducto, @COSTO, @PRECIO, @CANTIDADINICIO,


@CANTIDADFINAL);

SET @mensaje = 'Detalle de inventario insertado correctamente.';

END;
DECLARE @mensaje NVARCHAR(255);

EXEC InsertarUsuarioConMensaje 10001, 'Juan Perez', 'pass123', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10002, 'Ana Lopez', 'abc456', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10003, 'Carlos Diaz', 'qwerty', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10004, 'Marta Jimenez', 'xyz789', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10005, 'Luis Sanchez', 'luis456', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10006, 'Pedro Martinez', 'pedro789', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10007, 'María Fernandez', 'maria123', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10008, 'David Garcia', 'david456', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10009, 'Jorge Torres', 'jorge789', 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarUsuarioConMensaje 10010, 'Rosa Castro', 'rosa123', 'A', @mensaje OUTPUT;


PRINT @mensaje;

Select * from Usuario with(nolock);

DECLARE @mensaje NVARCHAR(255);

EXEC InsertarProductoConMensaje 'P001', 'Producto A', 12.50, 15.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P002', 'Producto B', 20.00, 25.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P003', 'Producto C', 5.75, 7.50, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P004', 'Producto D', 100.00, 120.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P005', 'Producto E', 8.99, 12.99, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P006', 'Producto F', 18.50, 22.50, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P007', 'Producto G', 60.00, 75.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P008', 'Producto H', 35.75, 45.50, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P009', 'Producto I', 50.00, 65.00, 'A', @mensaje OUTPUT;
PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P010', 'Producto J', 22.30, 27.50, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P011', 'Producto K', 15.20, 18.75, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P012', 'Producto L', 75.50, 90.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P013', 'Producto M', 43.00, 55.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P014', 'Producto N', 25.00, 35.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarProductoConMensaje 'P015', 'Producto O', 10.99, 15.00, 'A', @mensaje OUTPUT;

PRINT @mensaje;

Select * from Producto with(nolock);

DECLARE @mensaje NVARCHAR(255);

-- Insertando stock para Producto A

EXEC InsertarStockConMensaje 'P001', 100, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto B

EXEC InsertarStockConMensaje 'P002', 200, @mensaje OUTPUT;


PRINT @mensaje;

-- Insertando stock para Producto C

EXEC InsertarStockConMensaje 'P003', 150, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto D

EXEC InsertarStockConMensaje 'P004', 50, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto E

EXEC InsertarStockConMensaje 'P005', 250, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto F

EXEC InsertarStockConMensaje 'P006', 300, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto G

EXEC InsertarStockConMensaje 'P007', 120, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto H

EXEC InsertarStockConMensaje 'P008', 180, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto I

EXEC InsertarStockConMensaje 'P009', 210, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto J

EXEC InsertarStockConMensaje 'P010', 75, @mensaje OUTPUT;


PRINT @mensaje;

-- Insertando stock para Producto K

EXEC InsertarStockConMensaje 'P011', 90, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto L

EXEC InsertarStockConMensaje 'P012', 65, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto M

EXEC InsertarStockConMensaje 'P013', 85, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto N

EXEC InsertarStockConMensaje 'P014', 110, @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando stock para Producto O

EXEC InsertarStockConMensaje 'P015', 130, @mensaje OUTPUT;

PRINT @mensaje;

Select * from Producto with(nolock);

DECLARE @mensaje NVARCHAR(255);

-- Insertando proveedor 1

EXEC InsertarProveedorConMensaje 50001, 10001, 'Proveedor A', 1000.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;
-- Insertando proveedor 2

EXEC InsertarProveedorConMensaje 50002, 10002, 'Proveedor B', 1500.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 3

EXEC InsertarProveedorConMensaje 50003, 10003, 'Proveedor C', 2000.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 4

EXEC InsertarProveedorConMensaje 50004, 10004, 'Proveedor D', 1200.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 5

EXEC InsertarProveedorConMensaje 50005, 10005, 'Proveedor E', 1800.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 6

EXEC InsertarProveedorConMensaje 50006, 10006, 'Proveedor F', 2200.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 7

EXEC InsertarProveedorConMensaje 50007, 10007, 'Proveedor G', 1400.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 8

EXEC InsertarProveedorConMensaje 50008, 10008, 'Proveedor H', 2600.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;
-- Insertando proveedor 9

EXEC InsertarProveedorConMensaje 50009, 10009, 'Proveedor I', 3000.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 10

EXEC InsertarProveedorConMensaje 50010, 10010, 'Proveedor J', 800.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 11

EXEC InsertarProveedorConMensaje 50011, 10011, 'Proveedor K', 3200.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 12

EXEC InsertarProveedorConMensaje 50012, 10012, 'Proveedor L', 1700.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 13

EXEC InsertarProveedorConMensaje 50013, 10013, 'Proveedor M', 500.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 14

EXEC InsertarProveedorConMensaje 50014, 10014, 'Proveedor N', 2700.00, 'A', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando proveedor 15

EXEC InsertarProveedorConMensaje 50015, 10015, 'Proveedor O', 3500.00, 'A', @mensaje


OUTPUT;
PRINT @mensaje;

Select * from Porveedores with(nolock);

DECLARE @mensaje NVARCHAR(255);

-- Insertando sucursal 1

EXEC InsertarSucursalConMensaje 1001, 'Sucursal Central', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 2

EXEC InsertarSucursalConMensaje 1002, 'Sucursal Norte', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 3

EXEC InsertarSucursalConMensaje 1003, 'Sucursal Sur', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 4

EXEC InsertarSucursalConMensaje 1004, 'Sucursal Este', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 5

EXEC InsertarSucursalConMensaje 1005, 'Sucursal Oeste', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 6

EXEC InsertarSucursalConMensaje 1006, 'Sucursal Zona 1', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 7
EXEC InsertarSucursalConMensaje 1007, 'Sucursal Zona 2', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 8

EXEC InsertarSucursalConMensaje 1008, 'Sucursal Zona 3', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 9

EXEC InsertarSucursalConMensaje 1009, 'Sucursal Plaza', @mensaje OUTPUT;

PRINT @mensaje;

-- Insertando sucursal 10

EXEC InsertarSucursalConMensaje 1010, 'Sucursal Terminal', @mensaje OUTPUT;

PRINT @mensaje;

DECLARE @mensaje NVARCHAR(255);

-- Insertando encabezado de envío 1

EXEC InsertarEncabezadoEnvioConMensaje 'ENV001', 1001, 10001, '2024-09-01', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 2

EXEC InsertarEncabezadoEnvioConMensaje 'ENV002', 1002, 10002, '2024-09-02', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 3

EXEC InsertarEncabezadoEnvioConMensaje 'ENV003', 1003, 10003, '2024-09-03', @mensaje


OUTPUT;
PRINT @mensaje;

-- Insertando encabezado de envío 4

EXEC InsertarEncabezadoEnvioConMensaje 'ENV004', 1004, 10004, '2024-09-04', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 5

EXEC InsertarEncabezadoEnvioConMensaje 'ENV005', 1005, 10005, '2024-09-05', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 6

EXEC InsertarEncabezadoEnvioConMensaje 'ENV006', 1006, 10006, '2024-09-06', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 7

EXEC InsertarEncabezadoEnvioConMensaje 'ENV007', 1007, 10007, '2024-09-07', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 8

EXEC InsertarEncabezadoEnvioConMensaje 'ENV008', 1008, 10008, '2024-09-08', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 9

EXEC InsertarEncabezadoEnvioConMensaje 'ENV009', 1009, 10009, '2024-09-09', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando encabezado de envío 10


EXEC InsertarEncabezadoEnvioConMensaje 'ENV010', 1010, 10010, '2024-09-10', @mensaje
OUTPUT;

PRINT @mensaje;

select

DECLARE @mensaje NVARCHAR(255);

-- Insertando detalle de envío 1

EXEC InsertarDetalleEnvioConMensaje 'ENV001', 'P001', 12.50, 15.00, 0.50, 10, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 2

EXEC InsertarDetalleEnvioConMensaje 'ENV002', 'P002', 20.00, 25.00, 1.00, 20, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 3

EXEC InsertarDetalleEnvioConMensaje 'ENV003', 'P003', 5.75, 7.50, 0.25, 15, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 4

EXEC InsertarDetalleEnvioConMensaje 'ENV004', 'P004', 100.00, 120.00, 5.00, 5, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 5

EXEC InsertarDetalleEnvioConMensaje 'ENV005', 'P005', 8.99, 12.99, 0.75, 12, @mensaje


OUTPUT;

PRINT @mensaje;
-- Insertando detalle de envío 6

EXEC InsertarDetalleEnvioConMensaje 'ENV006', 'P006', 18.50, 22.50, 1.50, 8, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 7

EXEC InsertarDetalleEnvioConMensaje 'ENV007', 'P007', 60.00, 75.00, 3.00, 6, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 8

EXEC InsertarDetalleEnvioConMensaje 'ENV008', 'P008', 35.75, 45.50, 2.00, 9, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 9

EXEC InsertarDetalleEnvioConMensaje 'ENV009', 'P009', 50.00, 65.00, 2.50, 7, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle de envío 10

EXEC InsertarDetalleEnvioConMensaje 'ENV010', 'P010', 22.30, 27.50, 1.20, 11, @mensaje


OUTPUT;

PRINT @mensaje;

Selec

DECLARE @mensaje NVARCHAR(255);


-- Insertando compra 1

EXEC InsertarEncabezadoCompraConMensaje 'FAC001', 50001, 10001, '2023-01-01', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 2

EXEC InsertarEncabezadoCompraConMensaje 'FAC002', 50002, 10002, '2023-01-02', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 3

EXEC InsertarEncabezadoCompraConMensaje 'FAC003', 50003, 10003, '2023-01-03', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 4

EXEC InsertarEncabezadoCompraConMensaje 'FAC004', 50004, 10004, '2023-01-04', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 5

EXEC InsertarEncabezadoCompraConMensaje 'FAC005', 50005, 10005, '2023-01-05', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 6

EXEC InsertarEncabezadoCompraConMensaje 'FAC006', 50006, 10006, '2023-01-06', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 7

EXEC InsertarEncabezadoCompraConMensaje 'FAC007', 50007, 10007, '2023-01-07', @mensaje


OUTPUT;

PRINT @mensaje;
-- Insertando compra 8

EXEC InsertarEncabezadoCompraConMensaje 'FAC008', 50008, 10008, '2023-01-08', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 9

EXEC InsertarEncabezadoCompraConMensaje 'FAC009', 50009, 10009, '2023-01-09', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 10

EXEC InsertarEncabezadoCompraConMensaje 'FAC010', 50010, 10010, '2023-01-10', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 11

EXEC InsertarEncabezadoCompraConMensaje 'FAC011', 50011, 10011, '2023-01-11', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 12

EXEC InsertarEncabezadoCompraConMensaje 'FAC012', 50012, 10012, '2023-01-12', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 13

EXEC InsertarEncabezadoCompraConMensaje 'FAC013', 50013, 10013, '2023-01-13', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 14

EXEC InsertarEncabezadoCompraConMensaje 'FAC014', 50014, 10014, '2023-01-14', @mensaje


OUTPUT;
PRINT @mensaje;

-- Insertando compra 15

EXEC InsertarEncabezadoCompraConMensaje 'FAC015', 50015, 10015, '2023-01-15', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 16

EXEC InsertarEncabezadoCompraConMensaje 'FAC016', 50001, 10001, '2023-01-16', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 17

EXEC InsertarEncabezadoCompraConMensaje 'FAC017', 50002, 10002, '2023-01-17', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 18

EXEC InsertarEncabezadoCompraConMensaje 'FAC018', 50003, 10003, '2023-01-18', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 19

EXEC InsertarEncabezadoCompraConMensaje 'FAC019', 50004, 10004, '2023-01-19', @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando compra 20

EXEC InsertarEncabezadoCompraConMensaje 'FAC020', 50005, 10005, '2023-01-20', @mensaje


OUTPUT;

PRINT @mensaje;
Selec

DECLARE @mensaje NVARCHAR(255);

-- Insertando detalle compra 1

EXEC InsertarDetalleCompraConMensaje 'FAC001', 'P001', 12.50, 15.00, 0.00, 10, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 2

EXEC InsertarDetalleCompraConMensaje 'FAC002', 'P002', 20.00, 25.00, 2.50, 5, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 3

EXEC InsertarDetalleCompraConMensaje 'FAC003', 'P003', 5.75, 7.50, 0.75, 20, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 4

EXEC InsertarDetalleCompraConMensaje 'FAC004', 'P004', 100.00, 120.00, 5.00, 3, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 5

EXEC InsertarDetalleCompraConMensaje 'FAC005', 'P005', 8.99, 12.99, 1.00, 15, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 6

EXEC InsertarDetalleCompraConMensaje 'FAC006', 'P006', 18.50, 22.50, 2.00, 7, @mensaje


OUTPUT;

PRINT @mensaje;
-- Insertando detalle compra 7

EXEC InsertarDetalleCompraConMensaje 'FAC007', 'P007', 60.00, 75.00, 4.00, 2, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 8

EXEC InsertarDetalleCompraConMensaje 'FAC008', 'P008', 35.75, 45.50, 2.50, 8, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 9

EXEC InsertarDetalleCompraConMensaje 'FAC009', 'P009', 50.00, 65.00, 3.00, 4, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 10

EXEC InsertarDetalleCompraConMensaje 'FAC010', 'P010', 22.30, 27.50, 1.50, 12, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 11

EXEC InsertarDetalleCompraConMensaje 'FAC011', 'P011', 15.20, 18.75, 0.75, 9, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 12

EXEC InsertarDetalleCompraConMensaje 'FAC012', 'P012', 75.50, 90.00, 5.00, 1, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 13

EXEC InsertarDetalleCompraConMensaje 'FAC013', 'P013', 43.00, 55.00, 3.00, 6, @mensaje


OUTPUT;
PRINT @mensaje;

-- Insertando detalle compra 14

EXEC InsertarDetalleCompraConMensaje 'FAC014', 'P014', 25.00, 35.00, 2.00, 10, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 15

EXEC InsertarDetalleCompraConMensaje 'FAC015', 'P015', 10.99, 15.00, 0.50, 25, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 16

EXEC InsertarDetalleCompraConMensaje 'FAC016', 'P001', 12.50, 15.00, 0.50, 30, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 17

EXEC InsertarDetalleCompraConMensaje 'FAC017', 'P002', 20.00, 25.00, 2.00, 8, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 18

EXEC InsertarDetalleCompraConMensaje 'FAC018', 'P003', 5.75, 7.50, 0.50, 18, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 19

EXEC InsertarDetalleCompraConMensaje 'FAC019', 'P004', 100.00, 120.00, 5.00, 5, @mensaje


OUTPUT;

PRINT @mensaje;

-- Insertando detalle compra 20


EXEC InsertarDetalleCompraConMensaje 'FAC020', 'P005', 8.99, 12.99, 1.00, 20, @mensaje
OUTPUT;

PRINT @mensaje;

DECLARE @mensaje NVARCHAR(255);

-- Insertar 15 encabezados de inventario con fechas manuales

-- Puedes ajustar los códigos de usuario y las fechas según sea necesario

EXEC InsertarEncabezadoInventarioConMensaje 'INV001', 10001, '2024-01-01', '2024-01-31',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV002', 10002, '2024-02-01', '2024-02-28',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV003', 10003, '2024-03-01', '2024-03-31',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV004', 10004, '2024-04-01', '2024-04-30',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV005', 10005, '2024-05-01', '2024-05-31',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV006', 10006, '2024-06-01', '2024-06-30',


@mensaje OUTPUT;

PRINT @mensaje;
EXEC InsertarEncabezadoInventarioConMensaje 'INV007', 10007, '2024-07-01', '2024-07-31',
@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV008', 10008, '2024-08-01', '2024-08-31',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV009', 10009, '2024-09-01', '2024-09-30',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV010', 10010, '2024-10-01', '2024-10-31',


@mensaje OUTPUT;

PRINT @mensaje;

-- Repetir usuarios con fechas distintas

EXEC InsertarEncabezadoInventarioConMensaje 'INV011', 10001, '2024-11-01', '2024-11-30',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV012', 10002, '2024-12-01', '2024-12-31',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV013', 10003, '2025-01-01', '2025-01-31',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV014', 10004, '2025-02-01', '2025-02-28',


@mensaje OUTPUT;

PRINT @mensaje;

EXEC InsertarEncabezadoInventarioConMensaje 'INV015', 10005, '2025-03-01', '2025-03-31',


@mensaje OUTPUT;
PRINT @mensaje;

También podría gustarte