Está en la página 1de 3

-------------------tabla limpieza

EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'


GO
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
GO

EXEC sp_MSForEachTable
'BEGIN TRY
TRUNCATE TABLE ?
END TRY
BEGIN CATCH
DELETE FROM ?
END CATCH;'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
GO

DBCC CHECKIDENT (Doc_Guia_Remision, RESEED,0)


DBCC CHECKIDENT (Doc_Devolucion, RESEED,0)
DBCC CHECKIDENT (Doc_recepcion, RESEED,0)
DBCC CHECKIDENT (Producto, RESEED,0)
DBCC CHECKIDENT (Doc_reposicion, RESEED,0)

--------------------poblando guia remision


SELECT DOC_GUIA_REMISI�N.cod_guia_rem, DOC_GUIA_REMISI�N.codigo_proveedor,
PROVEEDOR.nombre_proveedor
FROM DOC_GUIA_REMISI�N INNER JOIN
PROVEEDOR ON DOC_GUIA_REMISI�N.codigo_proveedor =
PROVEEDOR.codigo_proveedor

---------------------poblando doc devolucion


SELECT cod_devolucion
FROM DCTO_DEVOLUCI�N

---------------------poblando doc recepcion


SELECT DOC_RECEPCION.fecha_doc_recep, DETALLE_RECEP_TRAB.cod_doc_recep,
DETALLE_RECEP_TRAB.cod_trabajador AS Expr1,
TRABAJADOR.nombre_trabajador
FROM DOC_RECEPCION INNER JOIN
DETALLE_RECEP_TRAB ON DOC_RECEPCION.cod_doc_recep =
DETALLE_RECEP_TRAB.cod_doc_recep INNER JOIN
TRABAJADOR ON DETALLE_RECEP_TRAB.cod_trabajador =
TRABAJADOR.cod_trabajador
---------------------poblando producto
SELECT codigo_producto, nombre_producto, talla_producto, color_producto,
Marca
FROM PRODUCTO
--------------------poblando doc reposicion
SELECT cod_reposicion, fecha_reposi
FROM DCTO_REPOSICION
-------------------poblando tiempo
create function dbo.fn_mes(@m int)returns varchar(15)
begin
declare @mes table(codigo int,nombre varchar(15))
insert @mes values(1,'Enero'),(2,'Febrero'),
(3,'Marzo'),(4,'Abril'),(5,'Mayo'),(6,'Junio'),
(7,'Julio'),(8,'Agosto'),(9,'Setiembre'),
(10,'Octubre'),(11,'Noviembre'),(12,'Diciembre')
return(select nombre from @mes where codigo=@m)
end
go
--
create function dbo.fn_diaSem(@d int)returns varchar(15)
begin
declare @semana table(codigo int,nombre varchar(15))
insert @semana values(1,'Lunes'),(2,'Martes'),
(3,'Mi�rcoles'),(4,'Jueves'),(5,'Viernes'),
(6,'S�bado'),(7,'Domingo')
return(select nombre from @semana where codigo=@d)
end
go

en el origen

SELECT DISTINCT
YEAR(Fecha_ord_compra) * 10000 + MONTH(Fecha_ord_compra) * 100 +
DAY(Fecha_ord_compra) AS CodigoFecha,
Fecha_ord_compra, YEAR(Fecha_ord_compra) AS A�o,
DATEPART(QUARTER,Fecha_ord_compra) AS Trimestre,
MONTH(Fecha_ord_compra) AS Mes, dbo.fn_mes(MONTH(Fecha_ord_compra)) AS NomMes,
DAY(Fecha_ord_compra) AS Dia,
DATEPART(WEEKDAY,Fecha_ord_compra) AS DiaSemana,
dbo.fn_diaSem(DATEPART(WEEKDAY, Fecha_ord_compra)) AS NomDiaSemana
FROM dbo.ORDEN_DE_COMPRA

------------------poblando hechos

select dimguiarem.key_guia_remision,
dimdevol.key_doc_devolucion,
dimrecepc.key_doc_recepcion,
dimpro.key_producto,
dimdocreposi.key_doc_reposicion,
dimtiem.fechaid,
degurepro.cantidad_guia_rem_prod,
degurepro.cantidad_guia_rem_prod*degurepro.precio as monto_guia_remision,
ordpago.fecha_ord_pago,
DAY(ordpago.fecha_ord_pago-ordcom.fecha_ord_compra) as demora_pago_dias,
detdevol.cantidad_dev as cantidad_devolucion,
detdevol.fecha_devolucion,
detarecepc.Cantidad as cantidad_recepcion,
dectorepos.cantidad as cantidad_reposicion,
day(dctorepo.fecha_reposi-docrec.fecha_doc_recep) as demora_reposicion_dias,
docinve.Stock

from PRODUCTO prod


inner join DETALLE_GUIA_REM_PROD degurepro on
degurepro.codigo_producto=prod.codigo_producto
inner join DOC_GUIA_REMISI�N guirem on guirem.cod_guia_rem=degurepro.cod_guia_rem
inner join datarebaza2..Doc_Guia_Remision dimguiarem on
dimguiarem.Cod_guia_remision=degurepro.cod_guia_rem
inner join ORDEN_DE_COMPRA ordcom on ordcom.cod_ord_compra=guirem.cod_ord_compra
inner join ORDEN_DE_PAGO ordpago on ordpago.cod_ord_compra=ordcom.cod_ord_compra
inner join DETALLE_DEVOLUCI�N detdevol on
detdevol.codigo_producto=prod.codigo_producto
inner join DCTO_DEVOLUCI�N dctodevol on
dctodevol.cod_devolucion=detdevol.cod_devolucion
inner join datarebaza2..Doc_Devolucion dimdevol on
dimdevol.cod_devolucion=detdevol.cod_devolucion
inner join DOC_RECEPCION docrec on docrec.cod_ord_compra=ordcom.cod_ord_compra
inner join DETALLE_RECEPCION detarecepc on
detarecepc.cod_doc_recep=docrec.cod_doc_recep
inner join datarebaza2..Doc_recepcion dimrecepc on
dimrecepc.Cod_doc_recepcion=detarecepc.cod_doc_recep
inner join datarebaza2..Producto dimpro on dimpro.cod_producto=prod.codigo_producto
inner join DCTO_REPOSICION dctorepo on
dctorepo.cod_ord_compra=ordcom.cod_ord_compra
inner join DETALLE_DCTO_REPOS dectorepos on
dectorepos.cod_reposicion=dctorepo.cod_reposicion
inner join datarebaza2..Doc_reposicion dimdocreposi on
dimdocreposi.cod_reposicion=dectorepos.cod_reposicion
inner join DOC_INVENTARIO docinve on docinve.codigo_producto=prod.codigo_producto
inner join datarebaza2..Tiempo dimtiem on dimtiem.fecha=ordcom.fecha_ord_compra

También podría gustarte