Está en la página 1de 6

UNIVERSIDAD NACIONAL DE SAN CRISTBAL DE

HUAMANGA
FACULTAD DE INGENIERIA DE MINAS GEOLOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE
INGENIERIA DE SISTEMAS

Laboratorio N 3

CURSO : LABORATORO ADMNSTRACON DE BD S-443

DOCENTE : Prof. Elvira Fernndez J.

ALUMNO : Borda Alvizuri, Sandro.

FECHA : 26/10/2010

LABORATORIO : martes 6.00- 8.00 pm

AYACUCHO - PERU


UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


LAB - ADMINISTRACIONDE BASE DE DATOS II IS-443

ckAclON u luNclON5

CkLACICN DL IUNCICNLS DLIINIDAS Ck LL USUAkIC



uSL nC81PWlnu
CC

1 luncln que Lraduce ah espanol Lodos los cargos de gerencla de venLas

CREATE FUNCTIJN f_TRADUCTJR_CARGJ1
(@Cargo varchar(30))
RETURNS varchar(30)
BEGIN
IF @Cargo like 'Sales Representative'
SET @Cargo = 'Representante de Ventas'
else
IF @Cargo like 'Vice President, Sales'
SET @Cargo = 'Vice Presidente de Ventas'
else
IF @Cargo like 'Sales Manager'
SET @Cargo = 'Gerente de Ventas'
else
SET @Cargo = 'Cordinador de Ventas'
RETURN @Cargo
END


SELECT LastName, FirstName, dbo.f_TRADUCTJR_CARGJ1(Title) AS CARGJ
FRJM dbo.Employees



2 luncln que nos permlLe obLener la canLldad sLock que falLa para podre
cumpllr una orden pendlenLe

CREATE FUNCTIJN F_STJCKCJMPRAR
(@UnitsStock INT, @UnitsJrder INT)
RETURNS INT
AS
BEGIN
DECLARE @X INT
IF @UnitsJrder 0
set @x=@UnitsJrder-@UnitsStock
else
set @x=0
return @x
END


SELECT ProductID, ProductName,UnitsInStock,
UnitsJnJrder,dbo.F_STJCKCJMPRAR(UnitsInStock,UnitsJnJrder) as
PJRCJMPRAR
FRJM dbo.Products

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
LAB - ADMINISTRACIONDE BASE DE DATOS II IS-443

una funcln que nos permlLe sabes cuanLos dlas Lranscurrl desde el
prlmer orden de un pedldo hasLa que se pudo envlar dlcho pedldo

CREATE FUNCTIJN F_TiempoDeEnvio
(@JrdetDate DATETIME, @ShippedDate DATETIME)
RETURNS INT
AS
BEGIN
DECLARE @days INT
If @ShippedDate is null
SET @days=0
else
SET @days=DATEDIFF(Day,@JrdetDate,@ShippedDate)
RETURN @days
END


SELECT JrderID , CustomerID ,
dbo.F_TiempoDeEnvio(JrderDate,ShippedDate) as DIAS_PEDIDJ_HASTA_ENVIJ
FRJM dbo.Jrders


4 una funcln que nos permlLe caLegorlzar las ordenes echa por los
cllenLes de acuerdo al monLo de la compra ( 8A!A MLulA y AL1A)

CREATE FUNCTIJN f_CategorizaCompra
(@UnitPrice MJNEY,@Quantity INT,@Discount FLJAT)
RETURNS nvarchar(10)
AS
BEGIN
DECLARE @Valor nvarchar(10)
SELECT @Valor = CASE
WHEN ((@UnitPrice@Quantity)-@Discount)<100 THEN 'CJMPRA BAJ'
WHEN ((@UnitPrice@Quantity)-@Discount)=100 AND
((@UnitPrice@Quantity)-@Discount<1000) THEN 'CJMPRA MED'
ELSE 'CJMPRA ALT'
END
RETURN @Valor
END


SELECT JrderID,ProductID,((UnitPriceQuantity)-
Discount),dbo.f_CategorizaCompra(UnitPrice ,Quantity ,Discount ) as
Categoria
from Jrder Details,










UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
LAB - ADMINISTRACIONDE BASE DE DATOS II IS-443

CkLACICN DL UNA IUNCICN DLIINIDA Ck LL USUAkIC


CCN VALCkLS DL 1A8LA DL VAkIAS INS1kUCCICNLS



3 lunclon que nos permlLe obLener los preclos de los producLos de
acuerdo a un rango especlflco


CREATE FUNCTIJN fn_ProductoxPrecio1(@precio1 money,@precio2 money)
RETURNS @fn_Productos TABLE
( ProductoID int PRIMARY KEY NJT NULL,
ProductoName nvarchar(61) NJT NULL,
UnidadPricio money NULL)
AS
BEGIN
INSERT @fn_Productos SELECT ProductID,ProductName,UnitPrice
FRJM Products
WHERE @precio1<UnitPrice and @precio2UnitPrice
RETURN
END



SELECT FRJM dbo.fn_ProductoxPrecio1(10,20)



lunclon que nos permlLe obLener a los cllenLes de acuerdo al
conLlnenLe al que perLenecen


CREATE FUNCTIJN fn_Continente(@length nvarchar(20))
RETURNS @ClienteContinente TABLE
(ClienteID nchar(5) PRIMARY KEY NJT NULL,
CompaniaName nvarchar(40) NJT NULL
)
AS
BEGIN
IF @length = 'America'
INSERT @ClienteContinente SELECT CustomerID,CompanyName
FRJM dbo.Customers
WHERE Country in
('USA','Mexico','Canada''Brazil','Argentina','Venezuela','Peru')
ELSE IF @length = 'Europa'
INSERT @ClienteContinente SELECT CustomerID,CompanyName
FRJM dbo.Customers
WHERE Country in
('Germany','UK','Sweden','France','Spain','Switzerland','Italy','Portu
gal')
RETURN
END


SELECT FRJM fn_Continente('America')

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
LAB - ADMINISTRACIONDE BASE DE DATOS II IS-443



lunclon que nos permlLe obLener Lodas las ordenes aslgnadas a un
empleado especlflco


CREATE FUNCTIJN fn_EmpleadoJrdenes2(@ID INT)
RETURNS @fn_EmployJrder TABLE
( orden int NJT NULL,
Apellido nvarchar(20) NJT NULL
)
AS
BEGIN
INSERT @fn_EmployJrder SELECT J.JrderID, E.LastName
FRJM dbo.Employees E, dbo.Jrders J
WHERE E.EmployeeID=J.EmployeeID and J.EmployeeID=@ID
RETURN
END


SELECT FRJM dbo.fn_EmpleadoJrdenes2(4)

2 CkLACICN DL UNA IUNCICN DLIINIDA Ck LL USUAkIC
CCN VALCkLS DL 1A8LA LN LINLA

8 Iunc|n que nos muestra un |os productos de acuerdo a una categor|a
as|gnada

CREATE FUNCTIJN ProductoxCartegoria(@categoria int)
RETURNS TABLE
AS
RETURN (SELECT FRJM Products WHERE CategoryID=@categoria)


Select from ProductoxCartegoria(2)


lunclon que nos permlLe obLener una orden con la persona
responsable el nombre del producLo y el monLo que demanda dlcho
producLo


CREATE FUNCTIJN EmpleadoXJrden1(@ID int)
RETURNS TABLE
AS
RETURN (
SELECT J.JrderID, e.FirstName+ ' ' + e.LastName as Responsable,
P.ProductName ,(JD.UnitPriceJD.Quantity)-JD.Discount as costo
FRJM dbo.Jrders o,dbo.Employees e,Jrder Details, JD, Products P
WHERE o.EmployeeID=e.EmployeeID and o.EmployeeID=@ID
and o.JrderID =JD.JrderID and JD.ProductID=P.ProductID )


Select from EmpleadoxJrden1(7)

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
LAB - ADMINISTRACIONDE BASE DE DATOS II IS-443



Iunc|on que nos perm|te ||star un producto de acuerdo a |a categor|a
que pertenece con caracterostocas como e| nombre prec|o cant|dad
de ped|dos de| producto


CREATE FUNCTIJN CATEGJRIAxPRJDUCTJ3(@Categoria int)
RETURNS TABLE
AS
RETURN (SELECT p.CategoryID,p.ProductID,p.ProductName,c.Description
,p.UnitPrice, J.Quantity
FRJM Products P , dbo.Categories c , Jrder Details, J
WHERE p.CategoryID=@Categoria and
p.CategoryID=c.CategoryID and J.ProductID=P.ProductID )


Select from dbo.CATEGJRIAXPRJDUCTJ3(3)

También podría gustarte