Sie sind auf Seite 1von 7

-- pregunta 1 create database ss go use ss go create table alumno2( dni varchar(90), Nombre varchar(90), Ape_Pat varchar(90), Ape_Mat varchar(90),

direccion varchar(90))

create table Local( Id varchar(90), Nombre varchar(90), Ubicacion varchar(90), Flag Int) go CREATE PROCEDURE Sp_Cargar_Alumno as declare @MaxFFlag Int select @MaxFFlag=COUNT(Flag) from LOCAL declare @IntFalg Int=1 while (@IntFalg<=@MaxFFlag) begin declare @Cadena varchar(300) Declare @Query1 as nvarchar(3500)

Declare @Query2 as nvarchar(3500) Declare @Query3 as nvarchar(3500) Declare @Result1 as nvarchar(3500) Declare @Result2 as nvarchar(3500) Declare @Result3 as nvarchar(3500) select @Cadena=Ubicacion from LOCAL where Flag=@IntFalg

set @query1 ='insert into '+@Cadena+'alumno(dni,Nombre,Ape_Pat,Ape_Mat,direccion) SELECT dni,Nombre,Ape_Pat,Ape_Mat,direccion FROM LCentral.dbo.alumno a where not exists (select * from FROM '+@Cadena+'alumno b WHERE a.dni=b.dni)'

select @Result1 = @query1 execute (@Result1)

set @Query2='Update a set a.Nombre=b.Nombre, a.Ape_Pat=b.Ape_Pat, a.Ape_Mat=b.Ape_Mat, a.direccion=b.direccion from '+@Cadena+'alumno a ,LCentral.dbo.alumno b where a.dni=b.dni and (a.Nombre<>b.Nombre or

a.Ape_Pat<>b.Ape_Pat or

a.Ape_Mat<>b.Ape_Mat or

a.direccion<>b.direccion)' select @Result2 = @Query2 execute (@Result2)

set @Query3='delete from '+@Cadena+'alumno where dni not in (select dni from LCentral.dbo.alumno)' select @Result3 = @Query3 execute (@Result3) end go

--pregunta 2 create table Cat_Paroduct( id int primary key, nombre varchar(90)) go create table Proveedor( id int primary key, nombre varchar(90), direccion varchar(90)) go create table Producto( id int primary key, Nombre varchar(90), id_Cat_Paroduct int foreign key references Cat_Paroduct(id),

id_Proveedor int foreign key references Proveedor(id), colore varchar(90), temporada varchar(90), material varchar(90), P_Compra decimal(10,2), P_Venta decimal(10,2)) go create table Cliente( id int primary key, nombre varchar(90), direccion varchar(90)) go create table Empleado( id int primary key, nombre varchar(90), direccion varchar(90)) go create table T_Documento( id int primary key, nombre varchar(90)) go create table T_Movimiento( id int primary key, nombre varchar(90)) go create table DOcumento( id int primary key,

id_T_Documento int foreign key references T_Documento(id), id_T_Movimiento int foreign key references T_Movimiento(id), id_Proveedor int foreign key references Proveedor(id), id_Cliente int foreign key references Cliente(id), id_Empleado int foreign key references Empleado(id), subtotal decimal(10,2), igv decimal(10,2), total decimal(10,2)) GO create table Det_Document( id int primary key, id_DOcumento int foreign key references DOcumento(id), id_Producto int foreign key references Producto(id), Cantidad int, importe decimal(10,2)) go

INSERT INTO Cat_Paroduct VALUES ('1','PANTALON') INSERT INTO Cat_Paroduct VALUES ('2','POLOS') INSERT INTO Proveedor VALUES ('1','PLATANITOS','LOS OLIVOS') INSERT INTO Proveedor VALUES ('2','GAMARRA','CANADA') INSERT INTO Producto VALUES ('1','PANS BLUE','1','1','AZUL','INVIERNO','LANA','10.20','16.20') INSERT INTO Producto VALUES ('2','RIP BLABK','2','2','BLACK','VERNO','HILO','13.20','20.20') INSERT INTO Cliente VALUES ('1','RORMERI','...') INSERT INTO Cliente VALUES ('2','CARLOS','...') INSERT INTO Empleado VALUES ('1','pANGRA','...') INSERT INTO Empleado VALUES ('2','MARCO','...')

INSERT INTO T_Documento VALUES ('1','BOLETA') INSERT INTO T_Documento VALUES ('2','FACTURA') INSERT INTO T_Movimiento VALUES ('1','INGRESOS') INSERT INTO T_Movimiento VALUES ('2','SALIDAS') INSERT INTO DOcumento VALUES ('1','1','1','1','1','1','133.20','0','133.20') INSERT INTO Det_Document VALUES ('1','1','1','4','40.80') INSERT INTO Det_Document VALUES ('2','1','2','7','92.40') INSERT INTO DOcumento VALUES ('2','1','2','2','2','2','206.20','0','206.20') INSERT INTO Det_Document VALUES ('3','2','1','1','64.80') INSERT INTO Det_Document VALUES ('4','2','2','3','141.40') go create view V_Ingresos as select id_Producto,SUM(Cantidad)as 'Cantidad' from Det_Document dt left outer join DOcumento d on d.id=dt.id_DOcumento left outer join T_Movimiento tm on tm.id=d.id_T_Movimiento where tm.nombre='INGRESOS' GROUP BY id_Producto go

create view V_Salida as select id_Producto,SUM(Cantidad)as 'Cantidad' from Det_Document dt left outer join DOcumento d on d.id=dt.id_DOcumento left outer join T_Movimiento tm on tm.id=d.id_T_Movimiento where tm.nombre='SALIDAS' GROUP BY id_Producto

go

select cp.nombre as 'CATEGORIA' ,pr.nombre as 'PROVEEDOR' ,p.colore as 'COLOR' ,p.temporada as 'TEMPORADA' ,p.material as 'MATERIAL' ,p.P_Compra as 'PRE_COSTO' ,p.P_Venta as 'PRE_VENTA' ,vi.Cantidad as 'INGRESOS' ,vs.Cantidad as 'VENTAS' ,(vi.Cantidad-vs.Cantidad) AS 'STOCK' ,CONVERT(VARCHAR(90),(vs.Cantidad * 100)/vi.Cantidad)+'%' as '% VENTAS' from Producto p left outer join Cat_Paroduct cp on cp.id=p.id_Cat_Paroduct left outer join Proveedor pr on pr.id=p.id_Proveedor left outer join V_Ingresos Vi on Vi.id_Producto= p.id left outer join V_Salida Vs on Vs.id_Producto= p.id go